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.1)Proxy 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.5)Match 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.1)Target 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.1)Spider Status:控制Spider是否运⾏和队列中的数据管理
显⽰当前进度、传输情况、请求队列、有Spider运⾏/暂停按 钮与清空队列按钮
1.2) Spider Scope:控制爬⾍的抓取范围
1. 使⽤与站点地图⼀致的范围
2. 使⽤⾃定义范围:与Target Scope 的配置完全⼀致
:爬⾍的配置
2.1)Crawler 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.5)Spider 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.6)Request 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.5)Grep Extract:提取响应消息中的有⽤信息,如果找到,则在新列中显⽰。
4.6)Grep Payloads:提取响应消息中是否包含Payload的值。
1. Match against pre-URL-encoded payloads:如 果你在请求消息时配置了 URL-encode
payloads ,则这⾥表⽰匹配未编码之前的 Payload值,⽽不是转码后的值。
4.7)Redirections:控制执⾏攻击时,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.2)Intruder:主要⽤于⾃动化攻击的相关配置
1. Start attack 开始发起攻击
2. Open save attack 重新加载之前保存的Intruder攻击⽂件


发布评论