发布于 

如何在BurpSuite保存响应体中的文件

在一次渗透中,我发现了一个可以任意下载文件的API,但是在Repeater(重放)模块中得到的PDF/DOCX这种文件,他在响应体中,有没有什么方便的方法让他保存下来?

整个测试环境,我们使用皮卡丘靶场的unsafedownload这个模块,想要练习试试的话,可以在这里试试。

利用插件保存单个文件

没什么好说的,这种方法就是使用BurpSuite插件的一个过程。

  1. 下载插件,这里面有个jar包:https://github.com/jeromekleinen/burp_savetofile
  2. 加载插件,导航栏”Extender” -> “Add” 然后选择 Save body to file.jar
  3. 使用插件,如下图,我们得到一个test.xlsx文件,我们

使用Intruder模块批量下载文件

如下图,我们确定了任意文件下载漏洞点所在的位置。然后就是一个批量化下载保存的过程了,下边一系列步骤,真是一个保姆级教学了。

  1. 首先我们确定好变量位置

  2. 然后添加要批量fuzz的文件列表

  3. 在Option选项卡中找到Add,添加提取规则

  4. 设置表达式,响应头一下的内容都截取。配置好之后点OK保存,然后点“start attack”

  5. 保存结果列表。

  6. 注意选项如下。然后点击“Save”,保存结果

  7. 我们得到结果,但缺点是这些结果,都在一个文件里。那如果是不同类型的文件该怎么办呢?

小结

还有一种方法就是使用Turbo Intruder这个插件,但自己尝试了一下,这个插件还要自己写脚本,Python2的脚本嵌入到了这个插件中,当我挨个写出文件的时候,发现文件中文乱码了,花了半天时间还没解决这玩意中文乱码的问题,遂放弃,这个实用性也不是很强,最好是能够将前边那个保存文件的插件再修改下,能够批量保存选中文件,不然还不如直接脱离Burp,直接写Python脚本来的快些。

参考