Burp Suite是一个集成化的渗透测试工具,它集合了多种渗透测试组件,使我们自动化地或手工地能更好的完成对web应用的渗透测试和攻击。在渗透测试中,我们使用Burp Suite将使得测试工作变得更加容易和方便,即使在不需要娴熟的技巧的情况下,只要我们熟悉Burp Suite的使用,也能使得渗透测试工作变得轻松和高效。
这里稍微提一下linux的运行,这里以 kali 举例,kali 自带的是 openjdk 不支持新版 burp,需要使用 oracle jdk,jdk没问题就直接运行即可
java -jar <burp文件名>.jar
下面着重介绍Target、Intruder、Repeater三个模块的使用
Burp Target 组件主要包含站点地图、目标域、Target 工具三部分组成,他们帮助渗透测试人员更好地了解目标应用的整体状况、当前的工作涉及哪些目标域、分析可能存在的攻击面等信息
Site map
Site Map 的左边为访问的 URL,按照网站的层级和深度,树形展示整个应用系统的结构和关联其他域的 url 情况;右边显示的是某一个 url 被访问的明细列表,共访问哪些 url,请求和应答内容分别是什么,都有着详实的记录. 基于左边的树形结构,我们可以选择某个分支,对指定的路径进行扫描和抓取.
同时,也可以将某个域直接加入 Target Scope 中.
Scope
Target Scope 中作用域的定义比较宽泛,通常来说,当我们对某个产品进行渗透测试时,可以通过域名或者主机名去限制拦截内容,这里域名或主机名就是我们说的作用域;如果我们想限制得更为细粒度化,比如,你只想拦截 login 目录下的所有请求,这时我们也可以在此设置,此时,作用域就是目录.总体来说,Target Scope 主要使用于下面几种场景中:
通过 Target Scope 我们能方便地控制 Burp 的拦截范围、操作对象,减少无效的噪音.在 Target Scope 的设置中,主要包含两部分功能:允许规则和去除规则.
其中允许规则顾名思义,即包含在此规则列表中的,视为操作允许、有效.如果此规则用于拦截,则请求消息匹配包含规则列表中的将会被拦截;反之,请求消息匹配去除列表中的将不会被拦截.
规则主要由协议、域名或 IP 地址、端口、文件名4个部分组成,这就意味着我们可以从协议、域名或 IP 地址、端口、文件名4个维度去控制哪些消息出现在允许或去除在规则列表中.
当我们设置了 Target Scope (默认全部为允许) ,使用 Burp Proxy 进行代理拦截,在渗透测试中通过浏览器代理浏览应用时,Burp 会自动将浏览信息记录下来,包含每一个请求和应答的详细信息,保存在 Target 站点地图中.
它的工作原理是:Intruder 在原始请求数据的基础上,通过修改各种请求参数,以获取不同的请求应答.每一次请求中,Intruder 通常会携带一个或多个有效攻击载荷 (Payload),在不同的位置进行攻击重放,通过应答数据的比对分析来获得需要的特征数据.
Target
目标设定
Positions
确定要爆破的参数,爆破类型
Payloads
Burp Repeater 作为 Burp Suite 中一款手工验证 HTTP 消息的测试工具,通常用于多次重放请求响应和手工修改请求消息的修改后对服务器端响应的消息分析.
请求消息区为客户端发送的请求消息的详细信息,Burp Repeater 为每一个请求都做了请求编号,当我们在请求编码的数字上双击之后,可以修改请求的名字,这是为了方便多个请求消息时,做备注或区分用的.在编号的下方,有一个GO按钮,当我们对请求的消息编辑完之后,点击此按钮即发送请求给服务器端.
请求消息区为客户端发送的请求消息的详细信息,Burp Repeater 为每一个请求都做了请求编号,当我们在请求编码的数字上双击之后,可以修改请求的名字,这是为了方便多个请求消息时,做备注或区分用的.在编号的下方,有一个GO按钮,当我们对请求的消息编辑完之后,点击此按钮即发送请求给服务器端.服务器的请求域可以在 target 处进行修改,如上图所示.
应答消息区为对应的请求消息点击GO按钮后,服务器端的反馈消息.通过修改请求消息的参数来比对分析每次应答消息之间的差异,能更好的帮助我们分析系统可能存在的漏洞.
在我们使用 Burp Repeater 时,通常会结合 Burp 的其他工具一起使用,比如 Proxy 的历史记录,Scanner 的扫描记录、Target 的站点地图等,通过其他工具上的右击菜单,执行Send to Repeater,跳转到 Repeater 选项卡中,然后才是对请求消息的修改以及请求重放、数据分析与漏洞验证.
可选项设置(Options)
与 Burp 其他工具的设置不同,Repeater 的可选项设置菜单位于整个界面顶部的菜单栏中,如图所示:
其设置主要包括以下内容:
部分网页依靠前端 JS 判断回包信息,如何篡改返回值?
右键Do intercept -- Response to this request
firefox下抓包一直出现浏览器自己本身的包怎么半?
Firefox about:config 里 network.captive-portal-service.enabled 设置成 false ,可以关闭火狐向 http://detectportal.firefox.com/ 发包。
或
右键Request in brower -- In onginal session也可以配置忽略掉这个域名的包。
在没有导证书的情况下,一直需要手动忽略不安全的域名,怎么调整自动忽略?
burp Proxy组件options选项TLS Pass Through部分,勾选 automatically add entries on client SSL negotiation failure。
一些爆破使用前端md5加密,怎么在爆破模块快速hash payload?
burp Intruder组件Payloads选项Payload Processing部分,add -- Hash -- MD5
Burp在软件中提供了支持第三方拓展插件的功能,方便使用者编写自己的自定义插件或从插件商店中安装拓展插件。Burp扩展程序可以以多种方式支持自定义Burp的行为,例如:修改HTTP请求和响应,自定义UI,添加自定义扫描程序检查以及访问关键运行时信息,包括代理历史记录,目标站点地图和扫描程序问题等。
下面推荐几个较为优秀的扩展插件:
burp是web渗透必须要熟练掌握的工具。本文大致介绍了几个burp模块用法,并按实际场景提出的问题给出一些解决方案,同时推荐了一些优秀的burp扩展插件。
本文作者 r0fus0d
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。