简介
Burp Suite是用于攻击web应用程序的集成平台,包含了许多工具.它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程。所有的工具都共享一个能处理并显示HTTP消息,持久性,认证,代理,日志,警报的一个强大的可扩展的框架
Burp Suite是一个Java应用程序,并分发作为一个独立的.jar扩展的Java可执行文件
Burp Suite的模块几乎包含整个安全测试过程,从最初对目标程序的信息采集,到漏洞扫描及其利用,多模块间高融合的配合,使得安全测试的过程更加高效
具体模块分类为:
Dashboard(仪表盘)——显示任务、实践日志等Target(目标)——显示目标目录结构的的一个功能Proxy(代理)——拦截HTTP/HTTPS的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许你拦截,查看,修改在两个方向上的原始数据流Intruder(入侵)——一个定制的高度可配置的工具,对web应用程序进行自动化攻击,如:枚举标识符,收集有用的数据,以及使用fuzzing技术探测常规漏洞Repeater(中继器)——一个靠手动操作来触发单独的HTTP请求,并分析应用程序响应的工具Sequencer(会话)——用来分析那些不可预知的应用程序会话令牌和重要数据项的随机性的工具Decoder(解码器)——进行手动执行或对应用程序数据者智能解码编码的工具Comparer(对比)——通常是通过一些相关的请求和响应得到两项数据的一个可视化的“差异”Extender(扩展)——可以让你加载Burp Suite的扩展,使用你自己的或第三方代码来扩展Burp Suit的功能Options(设置)——包括Project options和User options,是对Burp Suite的一些设置

安装
配置java环境
版本jdk1.8
Burp Suite破解版
运行
burp-loader-keygen-jas502n.jar程序,点击run
此时会自动打开文件
burpsuite_pro_v2.0.11beta.jar,点击I Accept
输入
license
选择
manual activation
复制
Activation Request
复制
Activation Response
成功,可以使用
Burp Suite使用
配置代理

两个小问题
修改软件字体大小,HTTP数据包字体大小,数据包编码格式

重启Burp Suite生效
导入证书
为使Burp Suite可以拦截HTTPS流量,需导入Burp Suite证书
配置好
Burp Suite浏览器代理访问
http://burp,下载证书
将证书导入浏览器

Scan(扫描)
在Dashboard中可以创建扫描任务,进行扫描

Event log中显示事件列表
Issue activity显示任务中发现的漏洞
Target(目标)
site map
站点地图
用于显示通过爬站、扫描或代理获取到的目标站点

scope
用于在site map中包含或排除URL地址

Issue definitions
包含所有可由Burp扫描检测到的问题的定义

Proxy(代理)
Burp Suite中最重要、最常用的模块
代理模块作为Burp Suite的核心功能,拦截HTTP/HTTPS的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许拦截,查看,修改在两个方向上的原始数据流
Intercept
用于显示修改HTTP请求及响应内容,并可以将拦截的HTTP请求快速发送至其他模块处理

Forward:用于发送数据。当把所需要的HTTP请求编辑编辑完成后,手动发送数据Drop:将该请求包丢弃Intercept is off/on:拦截开关。当处于off状态下时,Burp Suite会自动转发所拦截的所有请求;当处于on状态下时,Burp Suite会将所有拦截所有符合规则的请求并将它显示出来等待编辑或其他操作Action:功能菜单,与右键菜单内容相同,在这可以将请求包发送到其他的模块或者对数据包进行其他的操作
http history

这里将记录经过代理服务器访问的所有请求,即使当Intercept is off时也会记录
记录包括:
#(请求索引号)Host(主机)Method(请求方式)URL(请求地址)Params(参数)Edited(编辑)Status(状态)Length(响应字节长度)MIME type(响应的MLME类型)Extension(地址文件扩展名)Title(页面标题)Comment(注释)SSLIP(目标IP地址)CookiesTime(发出请求时间)Listener port(监听端口)
下方窗口可以显示请求的详细内容(Request)及其响应内容(Response),通过右键菜单也可以将请求发送至其他模块。双击某个请求即可打开详情,通过Previous/next可以快速切换请求,并且Action也可以将请求发送至其他模块
WebSockets history
用于记录WebSockets的数据包,是HTML5中最强大的通信功能,定义了一个全双工的通信信道,只需Web上的一个Socket即可进行通信,能减少不必要的网络流量并降低网络延迟

Options
主要用于设置代理监听、请求和响应,拦截反应,匹配和替换,ssl等

Proxy Listeners:代理侦听器是侦听从您的浏览器传入的连接本地HTTP代理服务器。它允许您监视和拦截所有的请求和响应,并且位于BurpProxy的工作流的心脏。默认情况下,Burp默认监听127.0.0.1地址,端口8080。要使用这个监听器,你需要配置你的浏览器使用127.0.0.1:8080作为代理服务器。此默认监听器是必需的测试几乎所有的基于浏览器的所有Web应用程序。Intercept Client Requests:配置拦截规则,设置拦截的匹配规则。当Intercept request based on the following rules为选中状态时,burpsuite会配置列表中的规则进行拦截或转发。注意:如果该复选框未选中,那么即使Intercept is on也无法截取数据包。规则可以通过
Enabled列中的复选框选择开启或关闭。规则可以是域名,
IP地址,协议,HTTP方法,URL,文件扩展名,参数,cookie,头/主体内容,状态代码,MIME类型,HTML页面标题等规则按顺序处理,并且使用布尔运算符
AND和OR组合Intercept Server Responses:功能类似于配置拦截规则,设置拦截的匹配规则,不过这个选项是基于服务端拦截,当选小的Intercept request based on the following rules为选中状态时,burpsuite会匹配响应包Intercept WebSockets Messages:用于设置拦截WebSockets数据Response Modification:用于执行响应的自动修改。可以使用这些选项来自动修改HTML应用程序响应中匹配的内容Match and replace:用于自动替换请求和响应通过代理的部分。对于每一个HTTP消息,已启用的匹配和替换规则依次执行,选择适用的规则进行匹配执行。规则可以分别被定义为请求和响应,对于消息头和身体,并且还特别为只请求的第一行。每个规则可以指定一个文字字符串或正则表达式来匹配,和一个字符串来替换它。对于邮件头,如果匹配条件,整个头和替换字符串匹配留空,然后头被删除。如果指定一个空的匹配表达式,然后替换字符串将被添加为一个新的头。有可协助常见任务的各种缺省规则,这些都是默认为禁用。 匹配多行区域。您可以使用标准的正则表达式语法来匹配邮件正文的多行区域SSL Pass Through:指定WEB服务器在经过burpsuite连接时使用SSL连接Miscellaneous:其他选项,这些选项控制着Burp代理的行为的一些具体细节
Intruder(暴力破解)
intruder是一个强大的工具,用于自动对Web应用程序自定义的攻击。它可以用来自动执行您的测试过程中可能出现的所有类型的任务。例如目录爆破,注入,密码爆破等
Target
用于配置目标服务器进行攻击的详细信息。
Host:这是目标服务器的IP地址或主机名Port:这是目标服务的端口号Use HTTPS:这指定的SSL是否应该被使用
在BurpSuite任何请求处,右键菜单选择Send to intruder选项,将自动发送到此模块下并自动填充以上内容

Positions
设置Payloads的插入点以及攻击类型(攻击模式)

ttack type:攻击模式设置sniper:对变量依次进行破解。多个标记依次进行battering ram:对变量同时进行破解。多个标记同时进行pitchfork:每一个变量标记对应一个字典,取每个字典的对应项cluster bomb:每个变量对应一个字典,并且进行交集破解,尝试各种组合。适用于用户名+密码的破解
add:插入一个新的标记clear:清除所有的标记auto:自动设置标记,一个请求发到该模块后burpsuite会自动标记cookie、URL等参数refresh:如果必要的话,这可以要求模板编辑器的语法高亮
Payloads
设置payload,配置字典

Payload Sets:Payload数量类型设置Payload Set:指定需要配置的变量Payload type:Payload类型Simple list:简单字典Runtime file:运行文件Custom iterator:自定义迭代器Character substitution:字符替换Recursive grep:递归查找lllegal unicode:非法字符Character blocks:字符块Numbers:数字组合Dates:日期组合Brute forcer:暴力破解Null payloads:空payloadUsername generator:用户名生成copy other payload:复制其他payload
Payload Opetions\[Payload type\]:该选项会根据上个选项中Payload type的设置而改变Payload Processing:对生成的Payload进行编码、加密、截取等操作Payload Encoding:可以配置哪些有效载荷中的字符应该是URL编码的HTTP请求中的安全传输。任何已配置的URL编码最后应用,任何有效载荷处理规则执行之后。这是推荐使用此设置进行最终URL编码,而不是一个有效载荷处理规则,因为可以用来有效载荷的grep选项来检查响应为呼应有效载荷的最终URL编码应用之前
Opetions
此选项卡包含了request headers,request engine,attack results,grep match,grep_extrack,grep payloads和redirections。可以发动攻击之前,在主要Intruder的UI上编辑这些选项,大部分设置也可以在攻击时对已在运行的窗口进行修改

Repeater(上传绕过)
Repeater是用于手动操作和发送个别HTTP请求,并分析应用程序的响应一个简单的工具。可以发送一个内部请求从Burp任何地方到Repeater,修改请求并且发送

可以从Proxy history、site map、Scanner等模块中右键菜单send to repeater发送到repeater,对页面数据进行修改发送
点击go,发送请求,右边响应请求
可以通过<和>来返回上一次和下一个操作
单击x可以删除当前测试请求页面
底部的功能用于搜索条件,可以用正则表达式,底部右边显示匹配结果数
该模块的设置在菜单栏Repeater中:

Update Content-length:更新头部长度Unpack gzip/deflate:该选项控制Burp是否自动解压缩在收到的答复的gzip和deflate压缩内容Follow redirections:在遇到重定向时Burp该怎么处理Never:不会跟随任何重定向On-site only:中继器将只跟随重定向到使用相同的主机,端口和协议的URLIn-scope Only:中继器将只跟随重定向到的目标范围之内的URLAlways:中继器将跟随重定向到任何URL任何责任。Process cookies in redirections:当被重定向后是否提交cookieView:设置响应/请求版块的布局方式Action:形同于右键菜单
Sequencer(定序器)
用于分析数据项的一个样本中的随机性质量
可以用它来测试应用程序的session tokens或其他重要数据项是否是不可预测的
Live capture




Manual load

Analysis options



Decoder(编码模块)
将原始数据转换成各种编码和哈希表的简单工具。它能够智能地识别多种编码格式采用启发式技术

Decode as...:解码Encode as...:编码支持的编码解码类型:
urlHTMLBase64ASCII码Hex(十六进制)octal(八进制)binary(二进制)GZIP
hash:支持的hash算法:SHA-384SHA-224SHA-256MD2SHASHA-512MD5
Smart decoding:智能解码,burpsuite会递归查询自己所支持的格式尝试解码。通过有请求的任意模块的右键菜单send to Decoder或输入数据选择相应的数据格式即可进行解码编码操作,或直接点击Smart decoding进行智能解码
Comparer(比较器)
Comparer是一个简单的工具,用于以图形化方式在任意两项数据之间进行比较
常见用途如下:
在查找用户名枚举条件时,您可以使用有效和无效的用户名比较对失败登录的响应,以查找响应中的细微差异
当入侵者攻击导致一些非常大的响应,其长度不同于基本响应时,您可以比较这些响应以快速查看差异所在
在比较不同类型用户生成的站点地图或代理历史记录条目时,您可以比较相似请求对,以查看产生不同应用程序行为的差异所在
当使用布尔条件注入和其他类似测试测试
SQL盲注入错误时,您可以比较两个响应,以查看注入不同条件是否导致响应的相关差异
将数据加载到Comparer中的方式:
直接从剪贴板粘贴它
从文件加载它
在
Burp中的任何位置选择数据,然后从上下文菜单中选择Send to Comparer

结果会通过高亮显示不同:

Extender(扩充器)
BurpSuite给出了两种插件安装方法,一种是在线安装:通过BApp Store安装插件;第二种是本地安装:添加本地环境中的插件
在BApp Store中安装插件
Extender选项卡,在BApp Store中可以下载安装很多插件

安装自定义插件
Extender选项卡中的Extensions中点击add按钮,会弹出根据插件类型选择插件的目录

过滤器的使用
在burpsuite中在多个模块都可以看到Fitter过滤器的身影,它们使用方法相同

Fitter by Request type:按照请求类型筛选Show only in-scope items:只显示范围内的Show only requested items:只显示请求的Show only parameterized requests:只显示带有参数的请求Hide not-found items:隐藏未找到的
Fitter by search term:通过关键字筛选regex:通过正则表达式匹配case sensitive:是否区分大小写negative search:消极搜索,选择后将筛选出不包含该关键字的请求
Fitter by MIME type:通过文件类型筛选HTML:是否显示HTML文件请求Script:是否显示脚本文件请求XML:是否显示标记文件请求CSS:是否显示层叠样式文件请求Other text:是否显示其他类型文本请求images:是否显示图片请求Flash:是否显示Flash动画请求Other binary:是否显示其他二进制文件
Fitter by file extension:通过文件后缀筛选Show only:只显示自定义的后缀请求Hide:隐藏自定义的后缀请求
Fitter by status code:根据HTTP响应状态码筛选2xx:显示成功的请求3xx:显示重定向的请求4xx:显示请求错误的请求5xx:显示服务器错误的请求
Fitter by annotation:显示仅显示用户提供的注释或亮点的项目Show only commented items:只显示注释项目Show only highlighted items:只显示突出显示的项目-Folders:是否显示文件夹hide empty folders:隐藏空文件夹