Burp Suite处理“不支持代理”的客户端

         有时,测试人员需要测试使用在浏览器以外运行的胖客户端应用程序。许多这类客户端并不提供任何用于配置HTTP代理服务器的设置。它们只是尝试直接连接到托管应用程序的Web服务器。这种行为导致测试人员无法使用拦截代理服务器来查看和修改应用程序的流量。
91ri.org科普:胖客户端是相对于“瘦客户端”(Thin Client)(基于Web的应用程序)而言的,它是在客户机器上安装配置的一个功能丰富的交互式的用户界面,例如Oracle、DB2数据库的客户端管理工具。
         幸好,在这种情况下,测试人员可以利用Burp Suite提供的一些功能继续完成测试。为此,测试人员需要进行以下的步骤:.
1、修改操作系统的hosts文件,将应用程序使用的主机名解析为测试人员自己的回环地址(127.0.0.1)。例如:127.0.0.1 www.91ri.org  这会导致胖客户端的请求被重定向到测试人员的自己的计算机。
注:win7下的hosts默认文件路径为:C:WINDOWSsystem32driversetchosts
2、对于应用程序使用的每个目标端口(通常为80和443端口啦),在回环接口的这些端口上设置一个Burp Suite监听器,并将该监听器设置为支持匿名代理。匿名代理功能指监听器将接受胖客户端发送的非代理类型的请求(这些请求已被重定向到测试人员的回环地址啦)。详细设置如下:
 setting1
Setting_1
setting2
Setting_2
3、匿名模式代理支持HTTP和HTTPS请求。为防止SSL遇到致命的证书错误,可能需要将匿名代理监听器配置为显示包含胖客户端期望的特定主机名的SSL证书
4、对于已经使用hosts文件重定向的每个主机名,配置Burp将主机名解析为其原始的IP地址。这些设置位于Options->Connections->Hostname Resolution( 选项->连接->主机名解析)下。测试人员可以通过这些设置指定域名到IP地址的定制映射,以覆盖计算机自己的DNS解析。这样,Burp提出的出站请求将去到正确的目标服务器。(如果不执行此步骤,请求将在无限循环中重定向到测试人员自己的计算机。),如下图:
warning
5、在匿名模式下运行时,Burp Suite将确定应使用在请求中显示的Host消息头将每个请求转发到的目标主机。如果所测试的胖客户端没在请求中包含Host消息头,Burp将无法正确转发请求。如果只需处理一个目标主机,可以通过匿名代理监听器配置为所有请求重定向到所需目标主机来解决这一问题。但如果要处理多个目标主机,则需要在多台计算机上运行多个Burp实例,并使用hosts文件将每个目标主机的流量重定向到其他拦截服务器。
最后的效果如下图:
result
小编终结:
         神马?你说我有点蛋疼弄这么无聊的东西…确实很蛋疼,搞了一个上午都是80端口被占用…猛然惊醒!原来是迅雷在下片子!万恶淫为首啊啊啊!
         虽然很蛋疼,但是一点也不无聊呢:一、你可以用它来抓各种扫描器、各种神器的包,然后分析一下这些神器们的攻击载荷是什么样的、平时是怎么工作的等等,你就可以更深地理解和使用工具了,虽然用抓包工具也可以,但是抓包工具哪能和Burp Suite大神器比啊啊啊。二、这才是重要一点,这有点像游戏里面的武器融合产生出更强大的武器,你想想平时如果遇到特殊情况或是很刁钻的站,你的神器们都派不上用场,这时候就是靠Burp Suite来抓包改包辅助你啦,实现真正的强大灵活的自动化+手工辅助….(= ̄ω ̄=)
         怎么样,是不是热血沸腾跃跃欲试大快人心呢,小编只是抛砖引玉,真正强大的结合还要靠各位大黑阔们去开发啦,如果想出什么好的方案的话,请不吝发给小编哦~~
本文摘自《黑客攻防技术宝典:web实战篇》,实验由91ri.org完成,转载请注明出处。