【第7周】排查引起Burp抓包出错的一个小问题

  • A+
所属分类:安全文章

在渗透过程中,Burp抓包出现问题是一件特别头疼的事。可能是证书的原因,可能是端口被占用的问题,甚至还有一些无法解释的玄学问题。很影响我们渗透的心情。 本周给大家分享一个会引起Burp抓包出错的情况,以及如何排查解决它!



 0x01 

实际场景



本周接到了一个渗透测试公司官网的任务。我如常打开Burp,挂上浏览器代理,开撸。然而发现无法访问,显示了Burp的一个错误Software caused connection abort: recv failed,但是其他网站是可以正常访问的。

【第7周】排查引起Burp抓包出错的一个小问题




 0x02 

排查原因



1. 代理功能无法正常工作?


设置代理的情况下,其他网站都是可以访问,说明Burp的代理功能是正常工作的。


2. 公司网络限制?


刚开始连接的是公司内网,我在想难道网络管理员检查出我的代理到burp的流量?(虽然知道可能性不大)于是换成手机热点也不行,挂代理也不行。看来不是网络限制问题。


3. Burp发送的不是浏览器原始数据包?


不设置代理,访问公司官网首页,然后使用Wireshark抓住浏览器的原始数据包。


然后再设置代理,刷新首页,Burp抓包。最后将这两个包的内容进行对比,发有以下不同。

【第7周】排查引起Burp抓包出错的一个小问题

说明Burp偷偷把HTTP头Connection的值由keep-alive,改为了close


于是我在Burp的代理功能(Proxy)的设置(Options)中发现了如下选项。果断去掉选中状态。

【第7周】排查引起Burp抓包出错的一个小问题

然后官网就可以在代理模式下打开了。


后来思考了下,网站Web服务器应该是配置了Keep-Alive开启,而Burp在获取到浏览器的请求包后擅自修改掉了Connection头的值close,导致服务器没有发送返回包到客户端,最终引起Burp抓包报错。



 0x03 

思考原因



虽然问题解决了,不过还是有点好奇,Burp为何偷偷将原始数据包HTTP头Connection的值由keep-alive,改为了close


去Burp官网翻了下文档,对这个选项描述得很简单,还是一头雾水。

【第7周】排查引起Burp抓包出错的一个小问题

不过Burp Intruder模块中也有这个选项,官方文档解释得相对详细点。

【第7周】排查引起Burp抓包出错的一个小问题

意思如下:

Set Connection:close(设置连接:关闭) - 此选项使Intruder(入侵者)添加或更新连接头的值为“close(关闭)” 。在某些情况下(当服务器本身并不返回一个有效的Content-LengthTransfer-Encoding头),这个选项可以让攻击更快速地执行。



 0x04 

参考文章



  • https://portswigger.net/burp/documentation/desktop/tools/proxy/options

  • https://portswigger.net/burp/documentation/desktop/tools/intruder/options#attack-request-headers





本文始发于微信公众号(回忆飘如雪):【第7周】排查引起Burp抓包出错的一个小问题

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: