用请求源端口识别Burp代理
0x00 关于本文 BurpSuite被识别是怎么回事呢?BurpSuite相信大家都很熟悉,但是BurpSuite被识别是怎么回事呢,下面就让小编带大家一起了解吧。 BurpSuite被识别,其实就是用源端口检测,大家可能会很惊讶BurpSuite怎么会被识别呢?但事实就是这样,小编也感到非常惊讶。 这就是关于BurpSuite被识别的事情了,大家有什么想法呢,欢迎在评论区告诉小编一起讨论哦! 0x01 HTTP/1.1 持久连接 关于HTTP的连接管理相关的知识可以在 这里 找到。 在使用了HTTP/1.1的情况下(也就是我们见到的大部分情况),浏览器都会使用下图中第二种情况所说的“持久连接”,即在访问一个网站后不立即关闭连接,在下一次访问的时候直接用已打开的连接,减少握手次数,以降低流量消耗提升访问速度 0x02 Burp和持久连接 目前来看,Burp仍然没有支持持久连接,当有用户在社区中 询问 时,Burp官方回复的是即使在Burp里面设置了不加Connection:close头,Burp依旧会关闭连接。 0x03 如何搞清楚连接是否被复用了 从上面的叙述中,我们可以很容易地看出,通过检测连接是否被复用了就可以知道客户端是否启用了Burp代理。但是连接的复用似乎是个比较底层的问题,如何在不亲手实现一个HTTP服务器的时候简单地检测呢? 其实回想下TCP的基础知识就发现很简单,相同的连接,源端口也是相同的,那么只需要查看客户端的源端口就可以知道了。 0x04 用Flask实现并测试 代码放在 https://github.com/TomAPU/checkburp 了 效果如下: 结果表明,通过源端口可以实现检测Burp 0x04 彩蛋 在做实验的时候发现有些知名的代理软件在选取源端口的时候和浏览器的特征不一样,我会抽时间更多地研究下。