You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CTF场景下如何用ZAP Proxy修改POST请求注入zip文件

使用ZAP Proxy替换POST上传的ZIP文件二进制数据

我之前也碰到过类似的CTF场景,用ZAP完全能实现替换上传文件的需求,不用依赖Burp。下面是一步步的实操指南:

1. 准备好恶意ZIP文件

先确保你已经生成了适配PHP ZIP Wrapper LFI漏洞的恶意ZIP包(比如里面包含精心命名的恶意PHP文件,匹配LFI的路径利用规则),把它存在本地,比如命名为evil.zip。

2. 配置ZAP并开启请求拦截

  • 打开ZAP,将你的浏览器代理设置为ZAP默认的127.0.0.1:8080,确保流量能经过ZAP。
  • 点击ZAP顶部工具栏的Intercept按钮,确认它处于开启状态(按钮显示蓝色,提示"Intercept is on")。

3. 触发上传请求并拦截

在浏览器中打开目标上传页面,随便选一个测试用的ZIP文件提交上传——这时候ZAP会自动拦截到这个POST请求。

4. 替换ZAP中的文件二进制内容

拦截到请求后,切换到Request标签页,找到multipart/form-data结构里对应文件上传的区块(通常会有Content-Disposition: form-data; name="file"; filename="test.zip"这类标识行):

  • 右键点击该区块里Content-Type: application/zip下方的二进制内容区域,选择Replace file content。
  • 在弹出的文件选择窗口中选中你本地的evil.zip——ZAP会自动替换原有测试ZIP的二进制数据,同时处理好编码问题(这比手动粘贴cat命令的输出靠谱多了,终端输出很容易因为编码或换行导致数据损坏)。

5. 发送修改后的请求

确认替换无误后,点击ZAP顶部的Forward按钮,把修改后的POST请求发送给目标服务器,之后就可以继续推进LFI的利用步骤了。

额外小技巧:手动粘贴二进制的正确方式

如果不想用ZAP的文件替换功能,也可以用命令把ZIP转成可直接粘贴的纯字符串:

# 将evil.zip转为无换行的十六进制字符串,复制后粘贴到ZAP的请求内容区即可
xxd -p evil.zip | tr -d '\n'

不过这种方式出错概率较高,还是优先推荐ZAP内置的文件替换功能。

内容的提问来源于stack exchange,提问作者cfernandezlinux

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 04:07:20