Burpsuite工具的使用
目录
Burpsuite
BurpSuite 是用于攻击web 应用程序的集成平台,包含了许多工具。BurpSuite为这些工具设计了许多接口,以加快攻击应用程序的过程。所有工具都共享一个请求,并能处理对应的HTTP 消息、持久性、认证、代理、日志、警报。Brupsuite基于java开发,所以你的电脑上必须得安装有JDK。
Proxy代理模块
Burpsuite默认使用8080端口作为代理,当然,你也可以自己修改端口号。
Proxy——>Options,然后下面可以自己修改代理的端口号,默认是8080

这里 Proxy 的 Intercept 这里显示 Intercept is on 表示拦截包开启,所有代理的包都必须先经过burpsuite放行才可以走。

如果这里我们选择 intercept is off 的话,那么所有的包都会经过burpsuite,可以在HTTP history看所有经过的包,但是burpsuite不会对经过的包进行拦截。

关于浏览器端怎么设置代理我就不讲了,推荐一款Firefox浏览器中好用的代理插件 FoxyProxy Standard

当我们拦截到数据包后,如图,这里有4个选项
- Raw:抓取的请求数据包
- Params:请求数据包的参数信息,包括GET/POST请求的参数,cookie参数
- Headers:请求数据包的头部信息
- Hex:Raw中信息的二进制内容

Repeater模块(改包,重放)
我们抓一个包来看看,抓取包之后,右键 Send to Repeater 发送到重发模块,

在 Repeater模块,我们可以随意修改数据包。修改完后,点击 go ,就可以发包了。右边就会显示 服务器回的包。
Intruder模块(爆破)
Burp Intruder爆破主要由四个模块组成:
1:Target 用于配置目标服务器进行攻击的详细信息。
2:Positions 设置Payloads的插入点以及攻击类型(攻击模式)。
3:Payloads 设置payload,配置字典
4:Options 此选项卡包含了request headers,request engine,attack results ,grep match,grep_extrack,grep payloads和redirections。你可以发动攻击之前,在主要Intruder的UI上编辑这些选项,大部分设置也可以在攻击时对已在运行的窗口进行修改
Target模块
Target模块设置攻击的信息

position模块
position模块配置攻击类型和攻击点
Attack-type攻击类型,这里有四种可以选择。
- Sniper:对变量依次进行破解,如果有多个攻击点,则多个攻击点依次进行。只能用一份密码字典
- Battering ram:对变量同时进行破解,如果有多个攻击点,多个标记点同时进行。只能用一份密码字典
- Pitchfork:每一个变量标记对应一个字典,取每个字典的对应项。最少设置2处攻击点,最多设置20处攻击点。每个攻击点设置一个密码字典。
- Cluster bomb:每个变量对应一个字典,并且进行交集破解,尝试各种组合。最少设置2处攻击点,最多设置20处攻击点。适用于用户名+密码的组合。
假如现在有两份密码字典,每份密码字典里都有5个爆破字符的话。设置两处爆破点,Sniper会尝试10次,Battering ram会尝试5次,Pitchfork会尝试5次,Cluster bomb会尝试25次。

Payloads模块
这个模式是用来配置攻击载荷payload
Payload Sets: 这里设置我们payload的数量类型。你可以定义一个或多个有效载荷,有效载荷的数量取决于攻击类型定义,对于未知标签中定义的攻击类型,可以为每个有效载荷提供有效载荷类型,并且每种有效载荷类型可以以不同方式定制
- Simple list:简单字典
- Runtime file:运行文件
- Custom iterator:自定义迭代器(可以在字典前后加任意字符)
- Character substitution:字符替换
- Case modification:
- Recursive grep:
- illegal unicode:非法字符
- Character blocks:字符块
- Numbers:数字组合
- Dates:日期组合
- Brute force:暴力破解
- Null payloads:空payload
- Username generator:用户名生成
- copy other payload:复制其他payload

Payload Options[Simple list]: 该选项会根据Payload Sets的设置而改变

Payload Processing: 对Payload进行编码、加密、截取等操作
如下,是我们对payload进行base64编码

Payload Encoding:burpsuite还会默认自动对我们payload中的一些字符进行URL编码,我们可以勾选也可以取消

Options模块
该模块是用来对请求头和请求过程以及请求结果的一些设置
然后我们点击 Options 选项卡,该选项卡包含了request headers,request engine,attack results ,grep match,grep_extrack,grep payloads和redirections。你可以在发动攻击之前,在主要Intruder的UI上编辑这些选项,大部分设置也可以在攻击时对已在运行的窗口进行修改。
Request Headers: 这些设置控制是否在Intruder是否更新配置请求头。
- 如果选中Update Content-Length header,BurpSuite 会使用每个请求的 HTTP 主体长度的正确值,添加或更新这个请求里 HTTP 消息头的内容长度。这个功能对一些需要把可变长度的有效载荷插入到 HTTP 请求模板主体的攻击是很有必要的。这个 HTTP 规范和大多数 web 服务器一样,需要使用消息头内容长度来指定 HTTP 主体长度的正确值。如果没有指定正确值,目标服务器会返回一个错误,也可能返回一个未完成的请求,也可能无限期地等待接收请求里的进一步数据。
- 如果选中Set Connection: close框,则 BurpSuite 会添加或更新 HTTP 消息头的连接来请求在每个请求后已关闭的连接。在多数情况下,这个选项会让攻击执行得更快。

Request Engine:设置发送请求的线程、超时重试等
Attack Results: 设置攻击结果的显示
Grep - Match: 在响应中找出存在指定的内容的一项
Grep - Extract: 通过正则提取返回信息中的内容
Grep - Payloads: 这些设置可以用于包含已提交的有效负载的反射的标志结果项目。如果启用了此选项,BurpSuite会添加包含一个复选框指示当前负载的值在每个响应发现新的结果列
Redirections: 重定向响应,控制Burp在进行攻击时如何处理重定向
一处爆破点
第一步,我们将抓取到的数据包发送到Intruder模块。右键->Send to Intruder

在 Intruder 模块下的 Positions,burpsuite会自动把可能是爆破的地方进行标记。我们可以点击右边的clear清除,然后选择我们自己要爆破的地方,点击 add

这里,我们的Attack-type选择默认的Sniper,我们这里只爆破 passwd 密码字段

然后我们点击 Payloads,去设置我们的字典密码。

去Grep-match,这是对结果进行匹配的。也就是说对数据包返回的结果进行匹配,匹配规则我们自己设置。我们把Exclude HTTP headers 这里的勾选去掉,因为我们是根据返回头里面是否包含 index.php 来判断是否登录成功的!这就要我们分析登录成功和登录失败返回数据中哪里不同来判断是否登录成功

Start attack 开始攻击

这里对匹配到我们规则的项自动勾选上了,可得知,这就是我们正确的密码。

多处爆破点
Attack-type攻击类型,这里我们选择 Cluster bomb ,这个模式下可以设置多处爆破点。这里我们设置username和password两处爆破点

然后去设置我们的payload了,因为爆破点有两处,所以,两处都得设置payload
对第一处爆破点设置payload

对第二处爆破点设置payload

设置对结果进行 Grep-match ,和上面一样

Attack攻击,查看结果。

Spider模块(爬取网站目录)
开启我们的BurpSuite,在Proxy——>HTTP History 下面选择我们要爬去的网站,右键——>Add to scope

然后去 Target 标签,会有我们要访问的网站

点击Site map下面的Filter:Hiding out of scope.... ,按照下面的配置

然后选中要爬行的网站,右键——>Spider this host

爬取到有些网页需要登录,会弹出页面叫你填表单。可以填好提交,也可以忽视它

我们点击Spider标签的Control,会显示当前发了多少请求

如果请求队列是0,并且爬取了一段时间,说明已经爬取完成
Spider标签的Options标签是对爬虫的设置

点击Target——>Site map,可以看到爬取网站的目录结构

只拦截特定网站的数据包
切换到proxy页面的options的 Intercept Client Requests

然后点击Add,比如我们只想拦截baidu.com域名下的所有子域名的数据包,我们可以如下。

最后多了下面这一行,以后我们的burpsuite的拦截模式开启了,也只会拦截baidu.com域名下的数据包

Scanner扫描模块
Scanner模块主要用于自动检测Web系统的各种漏洞。Scanner扫描模块和其他扫描器不同的是,Scanner扫描是对BurpSuite当前历史记录中抓到的数据包进行扫描。也就是他不会进行自动化的对网站先爬虫然后扫描。所以进行Scanner扫描前,我们先将代理的Intercept模块设置为off,然后手动浏览网站的所有页面,在进行扫描。
主动扫描
当使用主动扫描时,BurpSuite会向应用发送新的请求并通过Pyaload验证漏洞,这种模型下的操作会产生大量的请求和应答数据。在生产情况下不建议使用主动扫描。
点击Target——>Site map,右键我们需要检测的网站——>Actively scan this host

此时弹出过滤的设置,保持默认选项,Next——>Ok。即可扫描该网站。

也可以在Proxy——>HTTP History,右键需要检测的网站——>Do an active scan。

扫描结果可以在Scanner——>Issue activity下查看。

Issue activity标签
Scan queue 扫描队列,这里将显示扫描队列的状态 进度 结果等。
Live scanning
实时扫描可让您决定哪些内容通过使用浏览器的目标应用,通过BurpProxy服务器进行扫描。您可以实时主动扫描设定live active scanning(积极扫描)和live passive(被动扫描)两种扫描模式。
Live Active Scanning:积极扫描。当浏览时自动发送漏洞利用代码。
Issue Definitions 漏洞列表,列出了burp可以扫描到的漏洞详情
当扫描完成后,我们可以在Target标签的Site map下右键该网站,Issue——>Report issues for this host,来导出扫描报告

被动扫描
当使用被动扫描时,BurpSuite不会重新发送新的请求,只是对已经存在的请求和应答进行分析。
被动扫描的使用和主动扫描一样。


更多的关于Scanner模块的使用:BurpSuite系列(四)----Scanner模块(漏洞扫描)
参考文章:https://blog.csdn.net/u011781521/article/details/54772795
Burpsuite工具的使用的更多相关文章
- BurpSuite工具应用
BurpSuite工具应用 BurpSuite是用于攻击web 应用程序的集成平台.它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程.所有的工具都共享一个能处理并显示HTTP ...
- BurpSuite工具应用及重放攻击实验
一.BurpSuite工具介绍 BurpSuite是用于攻击web 应用程序的集成平台.它包含了许多工具,并为这些工具设计了许多接口,以促进加快攻击应用程序的过程.所有的工具都共享一个能处理并显示HT ...
- 渗透测试之BurpSuite工具的使用介绍(三)
若希望从更早前了解BurpSuite的介绍,请访问第二篇(渗透测试之BurpSuite工具的使用介绍(二)):https://www.cnblogs.com/zhaoyunxiang/p/160002 ...
- Burpsuite 工具详解(常用模块之proxy、spider 、decoder)
Burpsuite常用模块之proxy.spider .decoder 是一款集成化渗透测试工具(jav ...
- BurpSuite工具抓取手机的流量
1.设置BurpSuite监听策略(和电脑区别不大就简单写了) 打开BurpSuite进入Proxy-Options界面,修改端口为8082.地址为第二项所有接口,点击OK 2.设置手机代理 首先保证 ...
- 渗透测试工具BurpSuite做网站的安全测试(基础版)
渗透测试工具BurpSuite做网站的安全测试(基础版) 版权声明:本文为博主原创文章,未经博主允许不得转载. 学习网址: https://t0data.gitbooks.io/burpsuite/c ...
- BurpSuite导出log配合SQLMAP批量扫描注入点
sqlmap可以批量扫描包含有request的日志文件,而request日志文件可以通过burpsuite来获取, 因此通过sqlmap结合burpsuite工具,可以更加高效的对应用程序是否存在SQ ...
- sqlmap批量扫描burpsuite请求日志记录
sqlmap可以批量扫描包含有request的日志文件,而request日志文件可以通过burpsuite来获取, 因此通过sqlmap结合burpsuite工具,可以更加高效的对应用程序是否存在SQ ...
- Burpsuite Sqlmap Nmap入门总结
burpsuite sqlmap nmap 简介 sqlmap基础 五种独特sql注入技术: 基于布尔类型的盲注 基于时间的盲注 基于报错注入 联合查询注入 堆查询注入 sqlmap入门 1.判断是否 ...
随机推荐
- ASP.NET Core重复读取Request.Body
//HttpContext context.Request.EnableRewind(); //创建缓冲区存放Request.Body的内容,从而允许反复读取Request.Body的Stream u ...
- RichTextBox FlowDocument类型操作
最近研究微信项目,套着web版微信协议做了一个客户端,整体WPF项目MVVM架构及基本代码参考于:http://www.cnblogs.com/ZXdeveloper/archive/2016/1 ...
- Java 面向对象 02
面向对象·二级 构造方法Constructor概述和格式 * A:构造方法概述和作用 * 给对象的数据(属性)进行初始化 * B:构造方法格式特点 * a:方法名与类名相同(大小也要与 ...
- 大数据实战-Hive-技巧实战
1.union 和 union all 前者可以去重 select sex,address from test where dt='20210218' union all select sex,add ...
- WPF 应用 - 通过 js 缩放 System.Windows.Controls.WebBrowser 的内容
1. 前提 原本是在大屏上展示系统,系统有个功能是加载第三方的网站,第三方网站按照大屏的分辨率写死了宽高: 现需要改到小屏展示系统,而这个第三方的网站不能随着 WebBrowser 窗口的尺寸调整网站 ...
- js输入框只能输入数字
1.只允许输入数字 <input type="text" onkeyup="this.value=this.value.replace(/\D/g,'')&quo ...
- java 集合 的理解
1.对象的存储:①数组(基本数据类型 & 引用数据类型) ②集合(引用数据类型) >数组存储数据的弊端:长度一旦初始化以后,就不可变:真正给数组元素赋值的个数没有现成的方法可用. 2.集 ...
- POJ_1273 Drainage Ditches 【网络流】
一.题面 Drainage Ditches 二.分析 网络流的裸题. 1 Edmonds-Karp算法 求解网络流其实就是一个不断找增广路,然后每次找到一条增广路后更新残余网络的一个过程. EK算法主 ...
- POJ1979_Red and Black(JAVA语言)
思路:bfs裸题. 对这种迷宫问题的bfs,我们把坐标点用一个class来存储,并放入队列进行求解. //一直接收不了输入,找了一个多小时的问题,居然是行和列搞反了ORZ Red and Black ...
- ch2_8_3求解回文序列问题(递归实现)
思路:回文序列中左右两边的值一定相等,所以可以将该问题分解为两边化为相同元素操作的次数和去掉两边相等元素后后剩下元素变成回文序列的操作次数. 题目: 如果一个数字序列逆置之后跟原序列是一样的就称这样的 ...
