BurpSuite HTTP代理拦截工具

BurpSuite是一款十分好用的渗透测试工具,由Java语言开发,它的核心功能是在本地启动一个代理服务器,浏览器通过这个代理服务器和应用服务器通信时,BurpSuite能够拦截、记录、修改浏览器发出的HTTP请求,并很容易实现重放请求等功能。

BurpSuite安装

BurpSuite不是开源软件,但提供了可以免费使用的社区版。社区版功能相对于专业版缺少Scanner等工具,其他功能也有限制,但代理、拦截的核心功能是一样的。

官网:https://portswigger.net/burp

除了BurpSuite外,我们还需要在浏览器中安装代理插件,如Firefox浏览器的FoxyProxy插件,并配置HTTP和HTTPS代理,以使浏览器通过BurpSuite代理访问网络。这部分内容可以参考Firefox相关章节。

注:如果对非浏览器应用程序进行请求拦截,且软件内部也没提供代理配置,那么可以采用原理类似Proxifier的软件,它可以Hook操作系统的socket实现代理。

加载BurpSuite证书

对于HTTPS协议代理,我们需要在浏览器中导入BurpSuite证书。这里我们需要使用Firefox浏览器,配置好代理后,访问http://burp/,点击右上角CA Certificate下载证书cacert.der文件。

下载完成后,在Firefox设置中选择证书管理器->证书颁发机构,并导入证书。

导入完成后,点击编辑信任,并勾选如下图。

Proxy模块

代理服务器(Proxy模块)拦截是BurpSuite的核心功能,在Proxy模块中我们可以拦截浏览器的Web请求和响应,修改请求和响应的数据。

代理服务器配置

BurpSuite支持应用层HTTP/HTTPS代理,我们可以在Proxy->Options中对代理服务器进行配置。

默认情况下,代理服务器会监听8080端口,拦截请求但不拦截响应(后者使用比较少)。

这个页面上的功能都比较直观,就不多赘述了。

拦截器

Proxy->Intercept选项中,点选Intercept is on按钮可以启动拦截,此时浏览器中发起请求,BurpSuite会拦截该请求并等待我们的下一步处理;如果不启动拦截,BurpSuite则只会记录请求历史,不过我们后续依然可以进行请求重放等操作。

页面中的请求信息我们可以任意修改,其中Raw页面为原始HTTP请求信息,Params页面为解析的请求参数,Headers则是解析的请求头内容。

修改完成后,可以点击Forward按钮,放行该请求。

请求历史

在请求历史页面中,我们可以看到浏览器中的全部请求过程,这个其实和浏览器调试工具中的网络模块很像,但BurpSuite中集成了更多功能。

除了在历史记录中浏览整个请求交互过程,我们在历史记录上点击右键,可以看到很多菜单,其中几个Send to功能是最常用的,它可以将该请求发到ComparerRepeaterIntruder等模块,供我们后续调试使用。

Comparer模块

Comparer模块是BurpSuite中另一个非常好用的功能。它提供了方便我们对比两个请求响应内容的UI界面,使得我们调试时更加直观的看出两次请求和响应的区别,否则来回翻两个页面比较抓狂。

上下两面选择需要对比的数据,然后点击Compare... -> Words按钮即可进行文本对比,Bytes则是对比二进制数据,比较少用。

其它常用模块

除了Proxy模块和Comparer模块,BurpSuite还集成了许多功能方便我们进行调试。

当然,很多人认为BurpSuite的这些周边功能用起来不太灵活,像Repeater模块、Intruder模块等,我们其实可以通过自己编写脚本实现,而且代码更具定制性和灵活性,这个就见仁见智了,我们可以根据自身需求进行选择。

Repeater模块

重放模块可以重新编辑并发送一个HTTP请求,我们从历史记录中点击Send to Repeater即可将请求添加到该模块。

在上面按钮中点击Go即可执行该请求。

Intruder模块

Intruder模块和Repeater模块类似,我们也可以从Proxy模块的历史记录中导入请求。但Intruder模块功能更加复杂,它能够自动化进行修改和请求尝试。

Target页面中,可以编辑请求的地址和端口。

Positions页面可以指定请求参数,我们知道HTTP是文本协议,这个页面中用§标出的就是变量,可以进行自动替换。

Payloads页面可以指定参数替换和请求的规则,配置好后,BurpSuite就可以基于我们定义的规则自动化的尝试各种参数请求。

其中,Payloads可以选择各种类型,比如数字序列等,该功能最常见的用途就是字典密码爆破。

作者:Gacfox
版权声明:本网站为非盈利性质,文章如非特殊说明均为原创,版权遵循知识共享协议CC BY-NC-ND 4.0进行授权,转载必须署名,禁止用于商业目的或演绎修改后转载。
Copyright © 2017-2024 Gacfox All Rights Reserved.
Build with NextJS | Sitemap