记一次授权的渗透测试
字数 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. 渗透测试流程总结
-
信息收集阶段
- 枚举有效账号
- 密码爆破
- 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
- 测试数据做好备份
- 敏感信息加密存储
- 测试完成后清理测试痕迹
- 遵守当地法律法规