记一次文件上传点黑盒测试
字数 924 2025-08-18 17:33:34
文件上传点黑盒测试实战教学
0x00 测试背景
这是一次针对授权渗透测试中文件上传点的黑盒测试记录,虽然最终未能成功getshell,但测试过程中使用的方法和工具值得学习。
0x01 信息收集
-
目标系统信息:
- 功能:提供保修服务的分站
- 存在文件上传点
- 脚本语言:PHP
- Web服务器:IIS 7.5(存在解析漏洞的可能性)
-
使用工具:
- Wappalyzer插件:用于快速识别网站技术栈
- 可从Google插件商店下载
- 方便查看网站使用的技术信息
- Wappalyzer插件:用于快速识别网站技术栈
0x02 初步测试
-
测试步骤:
- 选择一张包含PHP代码的图片马
- 尝试上传不同后缀的文件:
.jpg:上传成功,返回路径并可正常访问.php:被WAF拦截
-
初步结论:
- 系统对文件后缀有检测机制
- 存在WAF防护
0x03 WAF识别
-
使用工具:
- wafw00f:用于检测WAF类型
- 使用技巧:创建bat脚本放在用户目录下,方便快速调用
- 优点:节省查找工具用法和路径的时间
- wafw00f:用于检测WAF类型
-
检测结果:
- 确认WAF类型为安全狗
0x04 WAF绕过尝试
安全狗常见的绕过方法:
-
三种绕过方法:
===绕过:Content-Disposition: form-data; name="upload"; filename==="microfan.php"- 去除双引号绕过:
Content-Disposition: form-data; name="upload"; filename=microfan.php - 少双引号绕过:
Content-Disposition: form-data; name="upload"; filename="microfan.php
-
测试结果:
===绕过方法成功绕过WAF- 但后端返回"图片格式不对"错误
- 尝试其他PHP变种后缀(php345, phtml, phtm)均失败
0x05 其他尝试
- IIS 7.5解析漏洞:
- 尝试利用IIS 7.5的解析漏洞(如/test.jpg/.php)
- 发现漏洞已被修复
0x06 总结与经验
-
测试结论:
- 后端采用白名单机制,仅允许特定图片格式
- 所有绕过尝试均被后端验证拦截
-
经验分享:
- 工具使用习惯很重要,可以创建快捷方式提高效率
- 遇到白名单验证时,应果断放弃,寻找其他突破口
- 失败是成功之母,每次测试都是积累经验的过程
-
建议工具:
- Wappalyzer:快速识别网站技术栈
- wafw00f:准确识别WAF类型
- Burp Suite:用于拦截和修改上传请求
0x07 后续思路
当遇到类似情况时,可考虑以下方向:
- 寻找其他上传点或功能点
- 尝试其他文件类型漏洞(如SVG、XML等)
- 检查文件内容检测机制,尝试混淆绕过
- 结合其他漏洞进行组合利用