2023年11月26日发(作者:)

BurpSuite实战指南】【定期更新】

⽬录

写在前⾯的话

Burp Suite是⼀个集成化的渗透测试⼯具,它集合了多种渗透测试组件,使我们⾃动化地或⼿⼯地能更好的完成对web应⽤的渗透测试和攻

击。

在渗透测试中,我们使⽤Burp Suite将使得测试⼯作变得更加容易和⽅便,即使在不需要娴熟的技巧的情况下,只有我们熟悉Burp Suite

的使⽤,也使得渗透测试⼯作变得轻松和⾼效。

Burp Suite是由Java语⾔编写⽽成,⽽Java⾃⾝的跨平台性,使得软件的学习和使⽤更加⽅便。Burp Suite不像其他的⾃动化测试⼯具,

它需要你⼿⼯的去配置⼀些参数,触发⼀些⾃动化流程,然后它才会开始⼯作。

Burp Suite可执⾏程序是java⽂件类型的jar⽂件,免费版的可以从进⾏下载。 免费版的Burp Suite会有许多限制,很多的⾼级⼯具⽆法使

⽤,如果您想使⽤更多的⾼级功能,需要付费购买专业版。(或者破解版哈哈哈哈哈)

1. Forward:发送请求消息到服务端

2. Drop:丢掉当前请求消息

3. Intercept is on :开启拦截请求消息。

4. Intercept is off :关闭拦截。

5. Action:除了将当前请求的消息传递到Spider、Scanner、Repeater、Intruder、Sequencer、Decoder、Comparer组件外;还

可以⼀些请求消息的修改,⽐如改变GET或者POST请求⽅式、改变请求body的编码;也可以改变请求消息的拦截设置,如不再拦截

1. 请求消息的raw格式内容、参数、请求头、Hex格式

2. 响应消息的Raw格式内容、请求头、Hex格式、HTML格式、渲染页⾯

3. 查找内容:“+”提供了①.基于正则的查找。②.区分⼤⼩写。③.当⽂本改变⾃动滚屏的设置。

ket History选项卡:是HTTP历史的⼀个分⽀

使⽤⽅式与http history类似,唯⼀的区别是,记录通信⽅式不同的历史消息。

选项卡:对请求消息进⾏控制和处理

4.1Proxy Listeners:对截取数据流量的监听设置

1.【add】:

1.1)绑定:①.端⼝号。②.IP地址(本地回路、所有接⼝、指定地址)

1.2)请求处理:①.端⼝重定向。②.主机名/域名重定向。③.强制使⽤SSL。④.隐形代理(应⽤于不⾛代 理,却使⽤了HTTP协议进

⾏通信的客户端,有时候需要配合BP的Project options设置中的Hostname Resolution设置。有时候客户端发送的请求中是不标准

的,⽐如不包含host请求头,这时需要配合主机重定 向和端⼝重定向。如果胖客户端程序的请求是访问多个域名和端⼝的话,这就意

味着bp将这些请求转发到⼀个 ⽬标服务器上是错误的,这时需要使⽤多个loopback模式监听。)(DNS劫持)

1.3)证书:①.使⽤⾃签名证书。②.CA证书。③.⽣成与特定的主机名CA签发的证书。④.使⽤加载的证 书。

1. Unhide hidden form fields:显⽰Form表单中的隐藏字段

2. Prominently highlight unhidden fields:⾼亮显⽰Form表单中的隐藏字段

3. Enable disabled form fields:使form表单中disable属性失效,变成可输⼊域

4. Remove input field length limits:移除输⼊框的长度限制

5. Remove JavaScript form Validation:移除JavaScript验证

6. Remove all JavaScript:移除所有的JavaScript

7. Remove tags:移除标签

8. Covert HTTPS links to HTTP:转换HTTPS超链接为HTTP链接。

9. Remove secure flag from cookies:移除所有cookie中的安全标志

4.5Match and Replace:对消息⽤正则匹配,对匹配内容进⾏替换

.Target模块:⾃动记录和分析站点信息

map选项卡:记录浏览信息,包含每⼀个请求和响应的详细信息

灰⾊没访问过的,⿊⾊是访问过的

1.1)左:访问的站点,按照照⽹站的层级和深度,树形展⽰整个应⽤系统的结构和关联其他域的url情况。

1. 可以对指定的站进⾏爬⾍:Spider this host

2. 可以对指定的站进⾏扫描:Actively scan this host

3. 将站点加⼊⽬标站点中:Add to scope

1.2)中:某⼀个url被访问的明细列表,⽐如访问了那些URL,还有详细的请求和响应。

1.3)右:这个站点存在的疑似漏洞。

选项卡:站点设置

2.1Target Scope:控制拦截请求,指定爬取对象,指定扫描站点,爆破指定站点。

1. Use advanced Scope-control:使⽤⾼级的站点控制。默认是指定⼀个URL的前缀的拦截规则。

允许规则

1.【Protocol】:协议。Any、HTTP、HTTPS

2.【Host or IP range】:域名或IP地址。

3.【Port】:端⼝。

4.【File】:⽂件名。

排除规则

3. 使⽤

3.1)⼿⼯获取站点地图:需要开启浏览器代理、Burp的正常监听、以及设置Intercept is off 。通过⼿动浏览站

点,Burp⾃动记录的⽅式获取站点地图。适合中⼩型系统。

3.2)站点⽐较(Compare site maps):⽐较的是权限

1. 同⼀个帐号,具有不同的权限,⽐较两次请求结果的差异。

2. .两个不同的帐号,具有不同的权限,⽐较两次请求结果的差异。

3. 两个不同的帐号,具有相同的权限,⽐较两次请求结果的差异。

3.3)攻击⾯分析(Analyze target):分析每⼀个站点所包含的URL信息

3.4)通过添加过滤器(Filter)来过滤⾮⽬标站点

1. 将⽬标站点添加到Scope:在"Target" - “Site map"区域中, ⽤⿏标右键单击⽬标站点, 然后选 择"add to scope”,此时Burp会⽣成⼀个正

则表达式,并⾃动添加到"Target"-" Scope"中、

2. 使⽤过滤器Filter: 在"Target"-“Sitemap"中,Filter可以⾃由选择过滤类型,以便我们进⾏查 看。单击"Filter”,选择"Show only in-scope

items", 只显⽰范围内的列表,即可进⾏过滤。

.Spider模块:爬取⼤型⽹站的信息

l:爬⾍控制

1.1Spider Status:控制Spider是否运⾏和队列中的数据管理

显⽰当前进度、传输情况、请求队列、有Spider运⾏/暂停按 钮与清空队列按钮

1.2 Spider Scope:控制爬⾍的抓取范围

1. 使⽤与站点地图⼀致的范围

2. 使⽤⾃定义范围:与Target Scope 的配置完全⼀致

:爬⾍的配置

2.1Crawler Setting:抓取设置

1. Check :检查 ⽂件

2. Detect custom “not found” response:检测404应答。

3. Ignore links to non-text content:忽略内容为空的链接

4. Request the root of all directories:爬取根⽬录下 所有⽂件和⽬录

5. Make a non-parameterized request to each dynamic page:对每⼀个动态页⾯发送⽆参数

1. Don’t submit login forms:不提交登录

2. Prompt for guidance:⼿动提交

3. Handle as ordinary forms:作为表单提交,这⾥就会使⽤2.3)的表单配置。

4. Automatically submit these credentials:⾃动提交定义好的⽤户名和密码

2.5Spider Engine:爬⾍引擎

1. Number of threads:爬⾍的线程

2. Number of retries on network failure:连接失败时重连的次数

3. Pause before retry(milliseconds):重连间隔时间

4. Throttle between requests(milliseconds):请求之间的间隔时间

5. Add random variations to throttle:间隔时间增加随机值

2.6Request Headers:爬⾍请求头的设置

1. Use Http version 1.1:使⽤HTTP 1.1协议进⾏连接

2. Use Referer header:使⽤引流头

1.【add】:添加⼀个请求头

2.【Edit】:编辑

客户端的漏洞,像XSS、Http头注⼊、操作重定向;

服务端的漏洞,像SQL注⼊、命令⾏注⼊、⽂件遍历。

2.2)被动扫描:不发送新的请求,只对已经存在的请求进⾏扫描检测。

1. 提交的密码为未加密的明⽂。

2. 不安全的Cookie的属性,⽐如缺少的HttpOnly和安全标志。

3. cookie的范围缺失。

4. 跨域脚本包含和站点引⽤泄漏。

5. 表单值⾃动填充,尤其是密码。

6. SSL保护的内容缓存。

1. Attack Insertion Points:攻击插⼊点设置

1.1)对参数的值进⾏漏洞检测:⽐如有URL请求参数、Body参数(⽐如form表单的值,上传⽂件、 XML参数、JSON参数)、Cookie参数、参

数的名称和个数(通过增加参数个数或者增加参数来验证漏洞)、 Http Header信息(通过对header信息的篡改来验证漏洞)、AFM编码(对

flash通信漏洞的验证)、 REST风格的参数。

1.2)改变参数的位置验证漏洞:共有URL to body 、URL to cookie、Body to URL、Body to cookie、Cookie to URL、Cookie to body

六种⽅式。

1.3)use nested insertion points:嵌套插⼊。

1.4)参数跳过:也可以指定哪些参数进⾏跳过,不需要进⾏漏洞验证。有服务器端参数跳过和所有参数 均跳过。

2. Active Scanning Engine:主动扫描引擎设置。

2.1)控制主动扫描时的线程并发数、⽹络失败重试间隔、⽹络失败重试次数、请求延迟、是否跟踪重定 向。3. Active Scanning

Optimization:主动扫描优化设置。优化扫描的速度和准确率。

3.1)Scan speed:扫描速度。分快速、普通、彻底三个选项。

3.2)Scan accuracy:增加对漏洞的测试次数。分为最⼩化假阴性(Minimize false negatives)、普通、最⼩化假阳性(Minimize false

1. Simple list:简单列表。配置字符串列表作为攻击,可以⼿⼯添加或者从⽂件加载,也可以BP定

义好的列表(包括XSS脚本、CGI 脚本、SQL注⼊脚本、数字、⼤写字母、⼩写字母、⽤户名、密

码、表单域的字段名、 IIS⽂件名和⽬录名等等)。

2. Runtime file:运⾏⽂件。⽤⼀个⽂件来作为攻击列表。运⾏时,Burp Intruder将 读取⽂件的

每⼀⾏作为⼀个Payload。 3. Custom iterator:⾃定义迭代器。对不同的攻击位置,选定不同的简单列表,以笛卡尔的交叉⽅

式进⾏攻击。

3. Character substitution:字符串替换。根据替换规则,将定义好的攻击列表进⾏替换,⽤替换

的攻击列表进⾏攻击。

4. Case modification:⼤⼩写替换。将定义好的攻击列表进⾏⼤⼩写替换。No change(不改

变,使⽤原始字符串)。、To lower case(转为⼩写字母)、To upper case(转为⼤写字

母)、To Propername(⾸字母⼤ 写,其他⼩写)、To ProperName(⾸字母⼤写,其他不改

变)

5. Recursive grep:从服务器的响应中,根据正则提取信息作为攻击列表,进⾏攻击。

6. Illegal Unicode:⾮法字符。⽤相应攻击的⾮法Unicode编码替换攻击列表。在BurpSuite实战

指南的95页。

7. Character blocks:字符块。根据Base String的字符串,⽣成Min Length 和Max Length 之间

数量长度的字符串。

8. Character blocks:字符块。根据Base String的字符串,⽣成Min Length 和Max Length 之间

数量长度的字符串。

1. Sniper:狙击⼿模式。使⽤⼀组攻击列表,依次替换Payload位置上被§标志的⽂本。(⼀次攻击

只能使⽤⼀个Payload位置)

2. Battering ram:攻城锤模式。使⽤单⼀的攻击列表,依次⼀次性替换,全部Payload位置上 被§

标志的⽂本。

3. Pitchfork:草叉模式。使⽤多组攻击列表,对Payload位置进⾏攻击列表⼀对⼀对应⽅式进⾏攻

击。

4. Cluster bomb:集束炸弹模式。使⽤多组攻击列表,对Payload位置进⾏攻击列表⼀对多对应⽅

式进⾏攻击。

1. 【Add §】 :添加⼀个攻击点位置

2. 【Clear §】: 清除所有Payload位置标志或者清除选中的Payload位置标志

3. 【Auto §】: BP⾃动设置位置。⽬前Burp⽀持⾃动选择的参数类型有:

请求参数

1. Match type:匹配表达式还是简单的字符串。

2. Case sensitive match:是否⼤⼩写敏感。

3. Exclude HTTP headers:是否包含http消息头。

4.5Grep Extract:提取响应消息中的有⽤信息,如果找到,则在新列中显⽰。

4.6Grep Payloads:提取响应消息中是否包含Payload的值。

1. Match against pre-URL-encoded payloads:如 果你在请求消息时配置了 URL-encode

payloads ,则这⾥表⽰匹配未编码之前的 Payload值,⽽不是转码后的值。

4.7Redirections:控制执⾏攻击时,Burp如何处理重定向。

Never:从不

On-site only:仅同站点

In-scope only:仅同站点群

Always:永远

process cookies in redirections:在重定向中处理cookies

er 攻击和结果分析

5.1)菜单区

菜单

1. pause : 暂停攻击

2. resume : 恢复攻击

3. repeat : 再次攻击

菜单

通常会结合,⽐如Proxy的历史记 录,Scanner的扫描记录、Target的站点地图等,通过其他⼯

具上的右击菜单,执⾏【Send to Repeater】,跳转到Repeater选项卡中,然后进⾏重放

1.请求消息区

1. 在请求编码的数字上双击之后,可以修改请求的名字。

2. 【GO】按钮:发送请求给服务器端。服务器的请求域可以在target处进⾏修改。

2.应答消息区

显⽰服务器端的反馈消息

s:重放设置

1. Update Content-Length:控制Burp是否⾃动更新请求消息头中的Content-Length

2. Unpack gzip / deflate:控制Burp是否⾃动解压或压缩 服务器端响应的内容

3. Follow redirections:控制Burp是否⾃动跟随服务器端作请 求跳转,⽐如服务端返回状态码为

302,是否跟着应答跳转到302指向的url地址。 它有4 个选项,分别是永不跳转(Never),站内

跳转(On-site only )、⽬标域内跳转(Inscope only)、始终跳转(Always),站内跳转 是

指当前的同⼀站点内跳转;⽬标域跳转是指target scope中配置的域可以跳转;

4. Process cookies in redirections:在跳转过 程中设置的Cookie信息,将会被带到跳转指向的

URL页⾯,可以进⾏提交。

1.字符级别

1. Count:分析在令牌内的每个位置使⽤的字符的分布

2. Transitions:分析样品数据中的连续符号之间的变化

2.字节级别:burpsuite实战指南(123页)

.Decoder模块 :编码解码⼯具

多次解码编码很重要

1.输⼊域

1. 可以直接填写或粘贴

2. 通过【Send to Decoder】

2.输出域

显⽰编码 / 解码的结果

3.编码解码选项

1. ⽀持Text / Hex两种格式

2. Decode as:解码。⽬前⽀持URL、HTML、Base64、ASCII、16进制、8进制、2 进制、GZIP共

⼋种形式的格式转换

3. Encode as:编码。⽬前⽀持URL、HTML、Base64、ASCII、16进制、8进制、2 进制、GZIP共

⼋种形式的格式转换

4. Hash:散列。⽀持SHA、SHA-224、SHA-256、SHA-384、 SHA-512、MD2、MD5格式的转

换。

1. Search:快速搜索Target、Proxy、Repeater三个组件 中的请求和应答消息的内容。

2. Save state:主要保存站点地图、Proxy历史⽇志、扫描的结果和正在扫描的队 列、Repeater当

前和历史记录、Suite其他⼯具组件的所有配置信息。会提⽰我们是否只保存Scope中的数据。同

时,也 会提⽰我们是否⽤密码。

3. Restore state:恢复保存的状态。

1.2Intruder:主要⽤于⾃动化攻击的相关配置

1. Start attack 开始发起攻击

2. Open save attack 重新加载之前保存的Intruder攻击⽂件