对TP站点的一次简单测试
字数 1073 2025-08-09 22:00:34

ThinkPHP 3.2.3 渗透测试实战教学文档

1. 目标系统信息

  • 目标URL: http://x.x.x.x:8086/
  • 系统类型: 疑似手机端页面
  • 框架版本: ThinkPHP 3.2.3

2. 初步信息收集

2.1 路径探测

  • 尝试访问 /admin 路径时系统直接报错
  • 通过报错信息确认了ThinkPHP 3.2.3版本
  • 报错信息同时暴露了系统路径结构

2.2 已知漏洞分析

ThinkPHP 3.2.3版本存在以下已知漏洞:

  1. SQL注入漏洞
  2. 日志泄露漏洞

3. 漏洞利用过程

3.1 日志文件探测

尝试了以下常见ThinkPHP日志路径:

Application//Runtime/Logs/Admin/20_05_01.log
Application//Runtime/Logs/Index/20_05_01.log
Application/runtime/logs/home/16_09_09.log

成功访问到日志文件:

http://x.x.x.x:8086/Application/Runtime/Logs/Admin/20_11_18.log

3.2 日志分析技巧

  1. 发现可疑路径(需登录后访问)
  2. 直接搜索"admin"关键词
  3. 在日志中发现MD5加密的密码密文

3.3 密码破解

  1. 从日志中获取了两个用户名:
    • admin
    • test
  2. 获取到MD5加密的密码
  3. 使用工具破解MD5密文

4. 系统访问

4.1 成功登录

  • 使用破解的凭证成功登录系统

4.2 后台功能评估

  • 后台功能简陋
  • 无文件上传功能
  • 无法获取webshell

5. 关键工具与技术

  1. 路径探测工具:未明确说明,但需要能够快速测试常见路径
  2. 日志分析工具:文中提到"比较好用的工具",但未具体说明名称
  3. MD5破解工具:如Hashcat、在线MD5解密网站等

6. 防御建议

针对此类漏洞,建议采取以下防护措施:

  1. 日志安全

    • 禁止直接通过URL访问日志文件
    • 设置日志目录访问权限
    • 定期清理日志
  2. 框架安全

    • 及时升级ThinkPHP到最新版本
    • 关闭调试模式
    • 配置自定义错误页面
  3. 认证安全

    • 使用强密码策略
    • 密码加盐存储
    • 实现登录失败锁定机制
  4. 路径安全

    • 隐藏框架版本信息
    • 禁用目录列表
    • 配置自定义404页面

7. 扩展思考

  1. 如果存在SQL注入漏洞,可能的利用方式:

    • 使用/index.php?m=Home&c=Index&a=index&test=1)等参数测试
    • 尝试基于时间的盲注
  2. 其他可能的漏洞利用路径:

    • 检查是否存在/index.php?s=/index/\think\app/invokefunction等RCE漏洞
    • 测试是否存在/index.php?s=/Index/\think\config/get&name=database.username等配置泄露
  3. 权限提升可能性:

    • 检查后台是否有数据库管理功能
    • 寻找可编辑的配置文件
    • 检查服务器信息泄露

本教学文档基于实际渗透测试案例整理,仅供安全研究和防御参考,请勿用于非法用途。

ThinkPHP 3.2.3 渗透测试实战教学文档 1. 目标系统信息 目标URL: http://x.x.x.x:8086/ 系统类型: 疑似手机端页面 框架版本: ThinkPHP 3.2.3 2. 初步信息收集 2.1 路径探测 尝试访问 /admin 路径时系统直接报错 通过报错信息确认了ThinkPHP 3.2.3版本 报错信息同时暴露了系统路径结构 2.2 已知漏洞分析 ThinkPHP 3.2.3版本存在以下已知漏洞: SQL注入漏洞 日志泄露漏洞 3. 漏洞利用过程 3.1 日志文件探测 尝试了以下常见ThinkPHP日志路径: 成功访问到日志文件: 3.2 日志分析技巧 发现可疑路径(需登录后访问) 直接搜索"admin"关键词 在日志中发现MD5加密的密码密文 3.3 密码破解 从日志中获取了两个用户名: admin test 获取到MD5加密的密码 使用工具破解MD5密文 4. 系统访问 4.1 成功登录 使用破解的凭证成功登录系统 4.2 后台功能评估 后台功能简陋 无文件上传功能 无法获取webshell 5. 关键工具与技术 路径探测工具 :未明确说明,但需要能够快速测试常见路径 日志分析工具 :文中提到"比较好用的工具",但未具体说明名称 MD5破解工具 :如Hashcat、在线MD5解密网站等 6. 防御建议 针对此类漏洞,建议采取以下防护措施: 日志安全 : 禁止直接通过URL访问日志文件 设置日志目录访问权限 定期清理日志 框架安全 : 及时升级ThinkPHP到最新版本 关闭调试模式 配置自定义错误页面 认证安全 : 使用强密码策略 密码加盐存储 实现登录失败锁定机制 路径安全 : 隐藏框架版本信息 禁用目录列表 配置自定义404页面 7. 扩展思考 如果存在SQL注入漏洞,可能的利用方式: 使用 /index.php?m=Home&c=Index&a=index&test=1 )等参数测试 尝试基于时间的盲注 其他可能的漏洞利用路径: 检查是否存在 /index.php?s=/index/\think\app/invokefunction 等RCE漏洞 测试是否存在 /index.php?s=/Index/\think\config/get&name=database.username 等配置泄露 权限提升可能性: 检查后台是否有数据库管理功能 寻找可编辑的配置文件 检查服务器信息泄露 本教学文档基于实际渗透测试案例整理,仅供安全研究和防御参考,请勿用于非法用途。