Burp Suite新手指南

Image

Burp Suite想必你们都用过,可是你们未必知道它的全部功能。所以,本文的主要目的就是尽可能深刻介绍各类功能。BurpSuite有如下这些功能:web

截获代理– 让你审查修改浏览器和目标应用间的流量。正则表达式

爬虫 – 抓取内容和功能浏览器

Web应用扫描器* –自动化检测多种类型的漏洞网络

Intruder – 提供强大的定制化攻击发掘漏洞app

Repeater – 篡改而且重发请求ide

Sequencer –测试token的随机性工具

可以保存工做进度,之后再恢复测试

插件*–  你能够本身写插件或者使用写好的插件,插件能够执行复杂的,高度定制化的任务ui

*表示须要Burp Suite Pro受权。url

Intercepting Proxy(截取代理)

Intercepting proxy是针对web应用渗透测试工具的功能。Burp Suite的代理工具很是容易使用,而且能和其余工具紧密配合。要使用这个功能,第一步就是创建代理监听(Proxy–> Options功能下)。个人设置为了默认值localhost (127.0.0.1),端口为8080。

proxy-listener.png

你能够点击编辑(“Edit”)进行修改,或者添加新的监听端口。一旦创建好,你就要到浏览器的网络链接设置处手动配置代理设置:

 2015-12-30-10_54_36-altoro-mutual.png

咱们如今能够访问咱们要测试的应用,而后看到发送的全部请求了。到Proxy –> Intercept标签页,而后确保截获功能开启(“Intercept is on”),而后就能看到全部的请求了。

 trapped-request.png

你能够修改请求,而后点击“Forward”发送修改后的请求,若是不想发送某些请求你也能够点击“Drop”按钮。“Actions”按钮下还有不少其余的功能。

request-actions.png

若是你想回过头看下前面发送的请求,你能够切换到Proxy –> HTTP History标签页,这里有全部的请求列表,还有些详情如响应的长度,MIME类型和状态码。若是你修改过请求,你会看到两个标签,分别是修改前和修改后的请求:

http-history.png

另外一个有用的功能是自动修改请求/响应,功能位于Proxy –> Options。经过这个功能能够去除JavaScript的表单验证。你也能够用正则表达式匹配替换请求/响应:

proxy-options.png

Spider(爬虫)

当你在对web应用进行初步检查的时候,Burp Suite的spider工具很是有用。当你浏览Web应用时,它会从HTML响应内容中主动生成一份URL列表,而后尝试链接URL。要使用爬虫功能,咱们首先要切换到Target–> Site Map标签,而后右键域名,选择“Add To Scope”:

add-to-scope.png

全部加入的域名都在Target –> Scope标签页里。你能够手动添加域名,修改,或者添加须要配出的URL(好比若是你不但愿对“联系咱们”的表单进行自动化测试,就能够把它排除掉):

scope-tab.png

若是咱们如今进入Spider –> Control标签,就能看到有些URL正在排队中,注意看下面,爬虫只会对scope中的域名进行测试:

spider-control-tab.png

回到Site Map咱们能够看到URL的列表,黑色表明咱们已经成功访问过那个页面,爬虫确认过是有效的。灰色表明爬虫在HTML响应中找到了这个URL可是尚未确认是否有效:

site-map-urls.png

基本的设置后,咱们返回到Spider –> Control标签,点击“Spider Is Paused”按钮运行工具,它会尝试链接全部以前找到的URL,包括在运行过程当中找到的新的。若是过程当中有表单须要填写,它会弹出表单供你填写,确保能收到有效的响应:

spider-run.png

如今Site Map中就有整理整齐的URL了:

site-map-completed.png

Spider –> Options标签下有些你能够调整的选项,如user-agent ,或者爬虫应该爬多深,两个重要的设置是表单提交和应用登陆,设置好以后爬虫能够自动为你填写表单:

spider-options.png

Intruder

Intruder是Burp Suite中最受欢迎的工具。Intruder是获取Web应用信息的工具。它能够用来爆破,枚举,漏洞测试等任何你想要用的测试手段,而后从结果中获取数据。

我举个例子来演示Intruder的使用方法。即爆破登陆页面的管理员密码(假设没有账号锁定)。首先,咱们切换到Proxy-> HTTP History,右键要测试的请求,点击“Send To Intruder”:

intruder-request.png

接下来咱们切换到Intruder标签,准备攻击。程序会在Target标签里自动填上请求中的host和端口。在Position(位置)标签出哦咱们能够看到咱们选择的请求并设置咱们要攻击的位置。用鼠标高亮想要攻击的位置, 而后点击右边的“Add”,若是须要的话能够选择多个位置:

intruder-position1.png

最上面的地方有多种攻击类型,本例中咱们使用默认的Sniper,但实际上每种攻击类型都有特定用途:

Sniper – 这个模式使用单一的payload组。它会针对每一个位置设置payload。这种攻击类型适合对常见漏洞中的请求参数单独地进行fuzzing测试。攻击中的请求总数应该是position数量和payload数量的乘积。

Battering ram – 这一模式使用单一的payload组。它会重复payload而且一次把全部相同的payload放入指定的位置中。这种攻击适合那种须要在请求中把相同的输入放到多个位置的状况。请求的总数是payload组中payload的总数。

Pitchfork – 这一模式使用多个payload组。对于定义的位置可使用不一样的payload组。攻击会同步迭代全部的payload组,把payload放入每一个定义的位置中。这种攻击类型很是适合那种不一样位置中须要插入不一样但相关的输入的状况。请求的数量应该是最小的payload组中的payload数量。

Cluster bomb – 这种模式会使用多个payload组。每一个定义的位置中有不一样的payload组。攻击会迭代每一个payload组,每种payload组合都会被测试一遍。这种攻击适用于那种位置中须要不一样且不相关或者未知的输入的攻击。攻击请求的总数是各payload组中payload数量的乘积。

位置设定好以后咱们切换到Payloads标签,选择攻击时使用的数据。顶部的地方你能够看到payload组。各个组都对应设置的各个位置。咱们能够选择payload类型,如简易列表(Simple List)。

在那下面有一些payload选项。每一个payload类型都有不一样的选项,供用户为你的测试进行修改。我常用的是数字(Numbers),你能够设置范围,选择是连续的数字仍是随机数字,还有每次攻击时的步长等。不过对于咱们要搞的爆破攻击,咱们只须要添加一个密码字典就行:

intruder-payload.png

接下来就是点击右上角的开始攻击(Start Attack)按钮。程序就会弹出一个新的窗口,显示的是尝试的每一个payload和响应的详情。咱们的例子中,第六个请求获取到了正确的密码:

intruder-run.png

咱们返回主窗口,而后切换到Intruder –> Options标签页,能够发现还有些别配置。其中一个很重要的是“Grep– Match”功能,这个功能可让你基于HTML中的字符串或者正则表达式标记出结果。这些标记会在新增的栏里出现。

注:免费版的Burp Suite会对Intruder限速,专业版会更快。

Repeater(重复器)、decoder(解码器)和comparer(比较器)也颇有用,但因为使用简单,在此就再也不赘述了。

* 参考来源:hack-ed,vulture翻译,文章有修改,转载请注明来自FreeBuf黑客与极客(FreeBuf.COM)

相关文章
相关标签/搜索