猫头鹰
信安舆情早知道

[专题] burpsuite实战指南(一)

*本文作者:t0data,本文属Mottoin原创投稿文章,未经许可禁止转载

引子

刚接触web安全的时候,非常想找到一款集成型的渗透测试工具,找来找去,最终选择了Burp Suite,除了它功能强大之外,还有就是好用,易于上手。于是就从网上下载了一个破解版的来用,记得那时候好像是1.2版本,功能也没有现在这么强大。在使用的过程中,慢慢发现,网上系统全量的介绍BurpSuite的书籍太少了,大多是零星、片段的讲解,不成体系。后来慢慢地出现了不少介绍BurpSuite的视频,现状也变得越来越好。但每每遇到不知道的问题时,还是不得不搜寻BurpSuite的官方文档和英文网页来解决问题,也正是这些问题,慢慢让我觉得有必要整理一套全面的BurpSuite中文教程,算是为web安全界做尽自己的一份微薄之力,也才有了你们现在看到的这一系列文章。

我给这个专题取了IT行业图书比较通用的名称: 《BurpSuite实战指南》,您可以称我为中文编写者,文章中的内容主要源于BurpSuite官方文档和多位国外安全大牛的经验总结,我只是在他们的基础上,结合我的经验、理解和实践,编写成现在的中文教程。本书我也没有出版成纸质图书的计划,本着IT人互联分享的精神做免费的电子书。于业界,算一份小小的贡献;于自己,算一次总结和锻炼。

以上,是为小记。

感谢您阅读此专题,阅读过程中,如果发现错误的地方,欢迎发送邮件到 t0data@hotmail.com,感谢您的批评指正。

本专题包含以下章节内容:

第一部分 Burp Suite 基础

Burp Suite 安装和环境配置

Burp Suite代理和浏览器设置

如何使用Burp Suite 代理

SSL和Proxy高级选项

如何使用Burp Target

如何使用Burp Spider

如何使用Burp Scanner

如何使用Burp Intruder

如何使用Burp Repeater

如何使用Burp Sequencer

如何使用Burp Decoder

如何使用Burp Comparer

 

第二部分 Burp Suite 高级

数据查找和拓展功能的使用

BurpSuite全局参数设置和使用

Burp Suite应用商店插件的使用

如何编写自己的Burp Suite插件

 

第三部分 Burp Suite 综合使用

使用Burp Suite测试Web Services服务

使用Burp, Sqlmap进行自动化SQL注入渗透测试

使用Burp、PhantomJS进行XSS检测

使用Burp 、Radamsa进行浏览器fuzzing

使用Burp 、Android Killer进行安卓app渗透测试

 

本篇文章讲解的知识点有:

1.Burp Suite 安装和环境配置

2.Burp Suite代理和浏览器设置

 

第一章 Burp Suite 安装和环境配置

Burp Suite是一个集成化的渗透测试工具,它集合了多种渗透测试组件,使我们自动化地或手工地能更好的完成对web应用的渗透测试和攻击。在渗透测试中,我们使用Burp Suite将使得测试工作变得更加容易和方便,即使在不需要娴熟的技巧的情况下,只有我们熟悉Burp Suite的使用,也使得渗透测试工作变得轻松和高效。

Burp Suite是由Java语言编写而成,而Java自身的跨平台性,使得软件的学习和使用更加方便。Burp Suite不像其他的自动化测试工具,它需要你手工的去配置一些参数,触发一些自动化流程,然后它才会开始工作。

Burp Suite可执行程序是java文件类型的jar文件,免费版的可以从免费版下载地址进行下载。免费版的Burp Suite会有许多限制,很多的高级工具无法使用,如果您想使用更多的高级功能,需要付费购买专业版。专业版与免费版的主要区别有

1.Burp Scanner
2.工作空间的保存和恢复
3.拓展工具,如Target Analyzer, Content Discovery和 Task Scheduler

本章主要讲述Burp Suite的基本配置,包含如下内容:

1.如何从命令行启动Burp Suite</br>
2.如何设置JVM内存 大小</br>
3.IPv6问题调试

如何从命令行启动Burp Suite

Burp Suite是一个无需安装软件,下载完成后,直接从命令行启用即可。但Burp Suite是用Java语言开发的,运行时依赖于JRE,需要提前Java可运行环境。如果没有配置Java环境或者不知道如何配置的童鞋请参考win7电脑上的Java环境配置 配置完Java环境之后,首先验证Java配置是否正确,如果输入java -version 出现下图的结果,证明配置正确且已完成。

java_env

这时,你只要在cmd里执行java -jar /your_burpsuite_path/burpSuite.jar即可启动Burp Suite,或者,你将Burp Suite的jar放入class_path目录下,直接执行java -jar burpSuite.jar也可以启动。

==注意:your_burpsuite_path为你Burp Suite所在路径,burpSuite.jar文件名必须跟你下载的jar文件名称一致==

如何设置JVM内存 大小

如果Java可运行环境配置正确的话,当你双击burpSuite.jar即可启动软件,这时,Burp Suite自己会自动分配最大的可用内存,具体实际分配了多少内存,默认一般为64M。当我们在渗透测试过程,如果有成千上万个请求通过Burp Suite,这时就可能会导致Burp Suite因内存不足而崩溃,从而会丢失渗透测试过程中的相关数据,这是我们不希望看到的。因此,当我们启动Burp Suite时,通常会指定它使用的内存大小。 一般来说,我们通常会分配2G的内存供Burp Suite使用,如果你的电脑内存足够,可以分配4G;如果你的电脑内存足够小,你也可以分配128M。当你给Burp Suite分配足够多的内存时,它能做的工作也会更多。指定Burp Suite占用内存大小的具体配置方法是在启动脚本里添加如下命令行参数: 假设启动脚本的名称为burp_suite_start.bat,则该bat脚本的内容为

java -jar -Xmx2048M  /your_burpsuite_path/burpsuite.jar

其中参数-Xmx指定JVM可用的最大内存,单位可以是M,也可以是G,如果是G为单位的话,则脚本内容为:

java -jar -Xmx2G  /your_burpsuite_path/burpsuite.jar

更多关于JVM性能调优的知识请阅读 Oracle JVM Tuning

IPv6问题调试

Burp Suite是不支持IPv6地址进行数据通信的,这时在cmd控制台里就会抛出如下异常

java.net.SocketException: Permission denied

同时,浏览器访问时,也会出现异常

Burp proxy error: Permission denied: connect

当出现如上问题时,我们需要修改启动脚本,添加对IPv4的指定后,重启Burp Suite即可。

java -jar -Xmx2048M  -Djava.net.preferIPv4Stack=true  /your_burpsuite_path/burpsuite.jar

通过 -Djava.net.preferIPv4Stack=true参数的设置,告诉Java运行环境,使用IPv4协议栈进行数据通信,IPv6协议将会被禁止使用。 这个错误最常见于64位的windows操作系统上,使用了32位的JDK

 

第二章 Burp Suite代理和浏览器设置

Burp Suite代理工具是以拦截代理的方式,拦截所有通过代理的网络流量,如客户端的请求数据、服务器端的返回信息等。Burp Suite主要拦截http和https协议的流量,通过拦截,Burp Suite以中间人的方式,可以对客户端请求数据、服务端返回做各种处理,以达到安全评估测试的目的。

在日常工作中,我们最常用的web客户端就是的web浏览器,我们可以通过代理的设置,做到对web浏览器的流量拦截,并对经过Burp Suite代理的流量数据进行处理。

下面我们就分别看看IE、Firefox、Google Chrome下是如何配置Burp Suite代理的。

IE设置

当Burp Suite 启动之后,默认分配的代理地址和端口是127.0.0.1 :8080,我们可以从Burp Suite的proxy选项卡的options上查看。如图:

burp_port

现在,我们通过如下步骤的设置即可完成IE通过Burp Suite 代理的相关配置。

1.启动IE浏览器
2.点击【工具】菜单,选择【Internet】选项

2_2

3.打开【连接】选项卡,点击【局域网设置】,进行代理设置。

2_3

4.在代理服务器设置的地址输入框中填写127.0.0.1,端口填写8080,点击【确定】,完成代理服务器的设置。

2_4

5.这时,IE的设置已经完成,你可以访问 http://burp 将会看到Burp Suite的欢迎界面。

2_5

FireFox设置

与IE的设置类似,在FireFox中,我们也要进行一些参数设置,才能将FireFox浏览器的通信流量,通过Burp Suite代理进行传输。详细的步骤如下:

1.启动FireFox浏览器,点击【工具】菜单,点击【选项】。

2_6

2.在新打开的about:preferences#advanced窗口中,依次点击【高级】-【网络】,我们将会看到FireFox连接网络的设置选项。

2_7

3.点击【设置】,在弹出的【连接设置】对话框中,找到“http代理”,填写127.0.0.1,端口填写8080,最后点击【确认】保存参数设置,完成FireFox的代理配置。

2_8

当然,FireFox浏览器中,可以添加FireFox的扩展组件,对代理服务器进行管理。例如FireX Proxy、Proxy Swither都是很好用的组件,感兴趣的读者可以自己下载试用一下。

Google Chrome设置

Google Chrome使用Burp Suite作为代理服务器的配置步骤如下:

1.启动Google Chrome浏览器,在地址栏输入chrome://settings/,回车后即显示Google Chrome浏览器的配置界面

2_9

2.点击底部的【显示高级设置】,将显示Google Chrome浏览器的高级设置。

2_10

3.当然,你也可以直接在搜索框中输入“代理”,回车后将自动定位到代理服务器设置功能。

2_11

点击【更改代理服务器设置】,windows系统下将会弹出IE浏览器的代理设置,此时,按照IE浏览器的设置步骤,完成代理服务器的配置即可。

除了上述的三种常用的浏览器外,还有Safari浏览器也有不少的用户在使用,其代理配置请点击阅读进行查看。

下期预告:

3.如何使用Burp Suite 代理

4.SSL和Proxy高级选项

 

*本文作者:t0data,本文属Mottoin原创投稿文章,未经许可禁止转载

转载请注明来自MottoIN,未经允许不得转载!MottoIN » [专题] burpsuite实战指南(一)

分享到:更多 ()

评论 抢沙发

评论前必须登录!

 

MottoIN 换一个角度看安全

寻求报道联系我们