Burp的安装教程这里就不再写了,网上有很多教程。
简单介绍一下Burp的简单的使用(大佬勿喷)
Target
Target模块是站点地图,该模块最主要的功能就是显示信息
Target模块会默认记录浏览器访问后的所有页面,这样就会导致目标网站的查看不方便。不过Burp可以通过添加过滤器(Filter)来过滤非目标站点,解决显示杂乱的问题。具体方法如下:
- 将目标站点添加到Scope。在"Target"->“Site map"区域中。鼠标右键单击目标站点,然后选择"add to scope"此时Burp会生成一个正则表达式,并自动添加到"Target”->"Scope"中
- 使用过滤器Filter。在"Target"->"Site map"区域中Filter可以自由选择过滤类型。单击Filter选择"Show only in-scope items"只显示范围内的列表即可过滤。
Proxy
首先将浏览器的代理设为Burp的代理(默认是127.0.0.1的8080端口)。
然后打开代理,这里我用了一个Chrom的插件直接改的代理。相对来说比较方便。插件名为FoxyProxy Standard。插件界面如下。
设置好之后开启Burp抓包(在Proxy选项下Intercept)在这个界面将第三个按钮设为Intercept is on(如果不是就点一下按钮就可以),然后就可以进行抓包了。
如果想要抓https网页的包需要在浏览器中导入一个Burp自己的一个证书。就可以抓到了。
Spider
Burp自带了一个网络爬虫,它能够完整枚举应用程序的内容和功能。
在Proxy模块将数据包发送到Spider中Burp的Spider模块就开始爬取网站。在Target的Site map模块中就可以看到。
在爬行的同时,Burp默认会进行被动漏洞扫描,也就是检查每个访问的URL。
在爬行操作时可以在Spider->Options选项卡中进行配置爬行规则,线程,爬行深度,请求头,表单登录等配置。
Scanner
Scanner模块可以有效的帮助渗透人员进行发现Web漏洞。
Burp可以针对单一的Url进行测试,也可以对整个Web的Url进行测试。如果只是对单一Url测试。拦截到请求后单击Action按钮选择Do an active scan进行扫描。
对全站扫描。需要爬行网站的所有链接。爬行完成后选择扫描的网站单击鼠标右键算则Actively Scan this Host。这时会看到主动扫描向导。
Remove duplicate items:删除重复选项
Remove items with no parameters:删除没有任何参数的页面
Remove items with following extensions:删除具有一下扩展名的页面,以逗号隔开
单击Next按钮,Burp会给出扫描的列表。
如果有不想扫描的页面可以继续删除。
如果有表单登录页面Burp会让你输入信息。
Burp Scanner配置信息
选项 | 说明 |
---|---|
Attack Insertion Points | 参数扫描选项,在此模块中,可以选择Url,cookie等参数 |
Active Scaning | 主动扫描漏洞,此模块可以配置扫描信息例如SQL注入XSS |
Active Scaning Engine | 扫描配置,此模块可以设置扫描线程,超时和最大请求连接。 |
Passive Scaning Areas | 被动扫描选项,此模块可以设置Header,Cookies |
Intruder
Intruder模块是Burp一个特色。它是一个高度可配置的工具,它可以对Web程序进行自动化攻击。在Intruder模块中,最重要的是Attack Type的配置,程序变量以及字典的配置。
- 配置Attack Type
它属于攻击类型配置,在此处选择Sniper详细的Attack Type配置如下:
攻击类型 | 说明 |
---|---|
Sniper | 对变量一次进行破解 |
Battering ram | 对变量同时进行破解 |
Pitch fork | 每个变量将会对应一个字典 |
Cluster bomb | 每个变量将会对应一个字典,并且交集破解,尝试每一个组合 |
- 配置变量
在Positions模块中可以在任意的请求头区域设置变量。Burp会自动在请求头中加入许多变量,我们首先单击Cler$按钮,把Burp默认的变量全部清除,然后再选择变量按Add$加入变量。 - 配置字典
在Payloads模块中有一下四个区域需要掌握
- Payload Sets(Payload Set[针对指定变量进行配置]),(Payload type[Payload类型,常见类型如下])
类型 | 说明 |
---|---|
Simple list | 简单列表 |
Runtime file | 运行时读取列表 |
Numbers | 数字列表 |
Dates | 日期列表 |
- Payload Options(默认为Simpl list类型。如果设置Payload type,此区域也会变化)
- Payload Processing (可以有效的对字符串进行处理(字典的每一行),可以进行MD5加密,字符串截取,加入前缀,后缀等操作)
- Payload Encoding(在进行请求时可以针对某些字符进行URL转码,在Payloads模块中,选择Simple list,并且加载字典)
- 配置选项Option模块
在这个模块中可以配置请求线程,请求结果集格式等,在Option,模块中,全部属于重点。
Intruder常见配置:
参数 | 说明 |
---|---|
Request Engine | 请求引擎设置,可设置线程,超时等信息 |
Attack Results | 攻击结果显示,可设置request,response等 |
Grep-Match | 识别response中是否存在此表达式或简单字符串 |
Grep-Extract | 通过正则获取response中的信息 |
Repeater
Repeater属于HTTP请求编辑工具,在进行HTTP请求测试时可以借助此工具。拦截请求后发送到Repeater模块中可以进行随意的修改请求进行测试。
对抓到的包可以点右键有个Send to Repeater选项就可以将抓到的包发送到Repeater模块。
点击go就可以进行发包,右边的框里就可以显示回包的信息。
Decoder
Burp还提供了加解密功能那就是Decoder模块。
在这个模块里你可以对一些明文进行加密,还可以对一些密文解密
如图所示,在框里输入之后右边会有选项,Decode为解密,可以有一些解密的算法。
Encode为加密。
Comparer
Burp提供了Comparer模块可以对两个包进行比较不同。省去了人工找不同的麻烦。
在Proxy模块里将包发送到Comparer模块中然后选择俩包进行比较,可以看到可以有两种比较方式,一种是Words另一种是Bytes。
扩展
Burp还提供了扩展模块,可以供对Burp功能进行增强。可以是Java的模块,也可以是python的模块(python的需要额外下载其他的东西),