1. 项目背景与核心挑战
文件上传漏洞一直是Web安全测试中的高危漏洞类型,在CISP-PTE认证考试和实际渗透测试中都属于必考重点。这个实验模拟了真实环境中文件上传功能的安全缺陷,要求通过两种不同技术路径完成渗透:Burp Suite手动测试和Python自动化脚本攻击。
我在金融行业做渗透测试时,遇到过数十种文件上传防护方案,但核心绕过思路万变不离其宗。下面就以这个靶场为例,拆解文件上传漏洞的完整攻击链。新手需要注意:不同防护机制需要组合不同的绕过技术,本次演示的两种方法适用于基础防护场景。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与信息收集
2.1 实验环境配置
- 靶机系统:Windows Server 2012 R2
- Web中间件:Apache 2.4.39
- 上传功能页面:/upload.php
- 测试工具:
- Burp Suite Community 2023.6
- Python 3.9 + Requests库
- 蚁剑/冰蝎连接工具
重要提示:实验前务必关闭Windows Defender实时防护,否则webshell会被立即删除。实际渗透中需要做免杀处理。
2.2 功能点分析
上传页面关键代码特征:
html复制<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="fileToUpload" id="fileToUpload">
<input type="submit" value="Upload" name="submit">
</form>
通过抓包发现服务端校验逻辑:
- 前端JS校验文件扩展名(可绕过)
- 服务端检查Content-Type
- 黑名单过滤:php, asp, aspx等
3. Burp Suite手动渗透方案
3.1 基础绕过步骤
- 制作webshell
使用一句话木马:
php复制<?php @eval($_POST['cmd']);?>
保存为shell.jpg.php(双扩展名绕过)
- 拦截修改请求
Burp抓包修改关键参数:
code复制POS
