Burp Suite
Burp Suite
Burp Suite 文档
注意:如同任何安全检测软件,burpsuite 包含的功能,可以破坏目标系统。为安全漏洞测试本身涉及,可能会导致在某些脆弱
使用 burpsuite 对未授权的任何系统进行攻击损坏。
使用下面链接了解 BurpSuite:
Getting started - 如果你是第一次打开 BurpSuite 或要覆盖密钥则从此处开始。
Using BurpSuite -包含 BurpSuite 测试工作流程的详细介绍,以及如何将工具整合在
一起工作。
Burp tools -包含关于 BurpSuite 的各个工具的详细文档。
Suite functions - 描述了所有的支持测试过程中共享 Suite 范围的功能。
Suite options -所有工具的行为范围的选项。
Extensibility – 介绍 BurpSuite 的扩展框架,以及如何扩展自己的 BurpSuite 代码功
能。
Troubleshooting - 包含一些常见问题的解决方案。
Full documentation contents - 所有的文档的结构化地图。
Getting Started
burpsuite。
Launching Burp
Display Settings
第一次运行 burp,可能需要等待一会儿来检查您的显示设置。您可以选择不同
大小的字体、UI 界面等。
首先,看一下 burp 的菜单,选项卡标题,按钮和其他文本显示的文字。如果你想改
变主界面的字体大小,进入 Option>>Display 选项,然后在编辑 User Interface 的字
体大小。最后重新启动 burp 并检查新字体是否是合适的。
其次,进入中继器选项卡,看看该请求面板中显示的 HTTP 消息。如果您想更改
HTTP 消息的字体大小,进入选项卡,然后去显示子选项卡,并编辑在 HTTP 报文
显示部分的字体大小。然后回到中继器选项卡,并检查新字体是否适合(有没有必
要重启)。
Configuring Your Browser
一旦运行 burp,并且配置浏览器代理,转到代理拦截选项卡,并确保拦截已打
开(如果按钮显示为“Intercept is on”,然后点击它来切换拦截状态)。然后转到
您的浏览器,并访问任何 URL。
在浏览器中访问的每一个 HTTP 请求都会显示在拦截选项卡。您可以查看每次
请求,并在必要时对其进行编辑。然后,点击“Forward”按钮发送到目标 Web 服
务器。如果您仅仅是想查看您访问的每次请求 url。您可以切换“intercept is off”按
钮,则没有任何拦截正常浏览。如需更多帮助,请参阅入门 burp。
当您通过 burpsuite 浏览时,Proxy history 会保留所有请求和响应的记录。在
Proxy history 选项卡,查看已发出的请求。在表中选择一个项目并查看 Request 和
Response 选项卡中的详细信息。
此外在您浏览时,burp 建立了目标应用程序的站点地图。转至 Target 选项卡,
site map 子选项卡查看。站点地图包含了所有你在浏览器中访问的 URL,并且包含
从请求和响应中的内容(例如,通过分析从 HTML 响应链接)。已请求条件的项目
显示为黑色,其它项目都以灰色显示。您还可以扩张目录结构,在目录中选择单个
项目,并查看完整的请求和响应(如果有的话)。如需更多帮助,请参阅 Target
tool。
burpsuite 被设计为一个手动工具,其中用户控制所执行的行为。在 burp 的用户
驱动的工作流程的核心是通过 burp 工具之间的 HTTP 请求执行特定任务的能力。您
可以从 Intercept,Proxy history,site map 发送消息,而其实在 burp 任何看得到的
HTTP 消息。都可以选择一个或多个 url 右击使用上下文菜单发送到另一个选项工具
你会使用特定任务的 burp 工具如下:
spider -可以用于自动爬行的应用程序,以发现其内容和功能。
scanner - 被用于自动扫描 HTTP 请求去发现安全漏洞。
intruder - 可以执行自定义的自动攻击,开展各种测试任务。
repeater - 用来手动修改并重新发出个别 HTTP 请求。
Sequencer - 这是用来分析随机性的质量在应用程序的会话令牌。
Decoder - 转换常见的编码和解码方案。
Comparer -用于执行应用程序的数据视觉比较,以找到两者之间的差异。
您可以通过多种方式相结合 burp 的不同的工具来执行测试任务,从简单到非常先
进和专业。有关 burp 的用户驱动的工作流程更详细的帮助,请参阅使用 burpsuite。
如果你不希望使用 burp 作为实际测试工具,只需要执行应用程序的一个快速简便
的漏洞扫描,请参见文档 burp 作为定向漏洞扫描。
Using BurpSuite
Testing Workflow
分析应用程序的攻击面
映射应用程序的过程中填入代理服务器的历史记录(HTTP history)和目标站点
地图(Sitemap)与所有的 BurpSuite 已抓获有关应用程序的信息。这两个库中包含的
功能来帮助您分析它们所包含的信息,并评估受攻击面的应用程序公开。此外,您
可以使用 BurpSuite 的目标分析器报告的攻击面的程度和不同类型的应用程序使用
的 URL 。
Tool Configuration
Burp Tools
1) Target
网站地图显示在目标应用程序中已发现的内容和安全问题的信息。它可以让你
查看单个项目的全部请求和响应,以及发现问题的全部细节。
2) Proxy
拦截 HTTP/S 的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,
可以拦截,查看,修改在请求与响应过程中的原始数据流。
3) Spider
应用智能感应的网络爬虫,它能完整的枚举应用程序的内容和功能。
4) Scanner
自主的通过 BurpSuite 的漏洞扫描能力发现 web 应用程序的安全漏洞。
5) Intruder
一个可自定义规则的高度配置工具,对 web 应用程序进行自动化攻击,如:枚
举,收集有用的数据,以及使用 fuzzing 技术探测常规漏洞。
6) Repeater
一个通过手动操作来重复触发单独的 HTTP 请求,并分析应用程序响应的工具。
7) Sequencer
用来分析那些不可预知的应用程序会话 tokens 和重要数据项的随机性的工具。
8) Decoder
进行手动执行或对应用程序数据者智能解码编码的工具。
9) Comparer
通常是通过一些相关的请求和响应得到两项数据的一个可视化的“差异”。
10) Extender
可以让你加载 Burp Suite 的扩展,使用你自己的或第三方代码来扩展 Burpsutie
的功能。
11) Options
对 Burp Suite 的一些设置
Target
目标工具包含了 SiteMap,用你的目标应用程序的详细信息。它可以让你定义哪
些对象在范围上为你目前的工作,也可以让你手动测试漏洞的过程。
Using the Target tool
Site map
Target scope
Using
目标工具向你展示目标应用程序的内容和功能的概述,是你测试工作流程的关
键部分。涉及使用目标选项卡中的关键步骤描述如下。
首先,手动映射目标应用程序。要做到这一点,执行下列步骤:
设置您的浏览器和 burp 代理一起工作。
关闭代理拦截,并手动浏览整个应用程序。
按照每一个环节,每一个提交的形式,逐步完成每一个多阶段的过程,并登
录到所有保护区。
本说明文档映射过程将填充所有经由代理所请求的内容,并且通过被动爬虫收
录目标网站地图的所有请求内容,可以从应用程序的响应来推断(经由链接,表
格等)。这本手册映射过程将建立一个相当完整的记录在所有可见的应用程序内容
的网站地图,并且通过该应用程序让你熟悉。
注意:只要有足够的时间,手动映射应用程序这种方式一般是更安全,比直接移动到自动爬行的技术更有效。它可以让你在什么应
用领域的映射,并提出什么要求直接控制。如果遇到一些“危险的”管理功能(例如,它会删除用户帐户或修改关键的应用程序设
置),则可以谨慎行事,避免任何意外后果。此外,手动工作,可以感知在浏览器中查看您的进度,以确保多阶段过程正确完成,
即输入验证程序是满意的,等等。
定义目标范围
当完成了初步的应用程序映射,这是一个很好的时间来定义你的目标范围,由站
点地图中选择分支和使用“添加到范围”/“从范围中删除”上下文菜单中的命令。
然后,您可以在站点地图和代理历史上配置合适的显示过滤器,从您目前不在兴
趣视图中的项目隐藏。
查看未请求项目
审查已通过被动蜘蛛被检测到,但尚未请求中的目标的任何项目的站点地图。这些
项目显示为灰色的站点地图。那么未经请求的项目将被组合在一起 - 你也可以迅速
(通过单击列标题)找到通过选择树视图中的整个应用程序和排序在“时代要
求”一栏表视图未经请求的项目。您应手动检查这些项目(例如,通过每个 URL
复制到浏览器),以确认它们是否包含任何其他有趣的内容。
如果应用程序是非常大的,或者你想加快映射过程中,您可以执行自动抓取填写
站点地图的内容。你应该使用这个技术慎用,因为它可以让你得到什么要求不那么
直接的控制。
发现隐藏的内容
已经映射的所有应用程序的可视内容(即是可以通过浏览应用程序和以下的所有
链接中观察到的),您可以选择进行一些自动操作,以确定没有从可见内容链接
进一步“隐藏”的内容:
您可以选择在站点地图文件夹和使用打嗝的内容发现功能来尝试猜测进一步的项
目。
您可以发送站点地图项目打嗝入侵者进行定制的内容发现。
分析攻击面
当你确信你已经映射的所有应用程序的内容和功能,您应该查看站点地图(与代
理一起史)的内容,了解攻击面应用程序公开。您可以使用下面的站点地图功能,
以支持这项任务:
您可以选择站点地图树的分支,并使用目标分析功能来确定所有的动态网址和参
数。
您可以使用显示过滤器和排序表视图,系统地通过一个复杂的站点地图工作,并
明白的地方不同的有趣的内容所在。
你可以用注释的亮点和评论的项目,来描述他们的目的或识别有趣的项目回来以
后。
驾驶你的测试工作流程
在充分映射应用程序,并评估其攻击面,可以开车从站点地图您的详细漏洞测试
的工作流程:
您可以选择分支机构和项目,并使用上下文菜单将这些发送给其他打嗝工具使用
打嗝扫描程序来执行特定任务,比如自动漏洞扫描,采用打嗝入侵者模糊化,或
者使用转发器打嗝手动检测。
您可以在不同的会话环境再次请求站点地图,并比较网站地图,以帮助识别访问
控制漏洞。
您可以搜索站点地图的具体表述,脚本和注释的分支机构。
在地址栏输入 www.baidu.com,如图
2)Scope
这个主要是配合 Site map 做一些过滤的功能,如图:
Include in scope 就是扫描地址或者拦截历史记录里右击有个 add to scope 就是添加
到这了,也可以自己手动添加。
SiteMap
Target Information
SiteMap 会在目标中以树形和表形式显示,并且还可以查看完整的请求和响应。
树视图包含内容的分层表示,随着细分为地址,目录,文件和参数化请求的 URL
。您还可以扩大有趣的分支才能看到进一步的细节。如果您选择树的一个或多个部
分,在所有子分支所选择的项目和项目都显示在表视图。
该表视图显示有关每个项目(URL , HTTP 状态代码,网页标题等)的关键
细节。您可以根据任意列进行排序表(单击列标题来循环升序排序,降序排序,和
未排序) 。如果您在表中选择一个项目,请求和响应(如适用)该项目显示在请求
/响应窗格。这包含了请求和响应的 HTTP 报文的编辑器,提供每封邮件的详细分析
站点地图汇总所有的信息 BurpSuite 已经收集到的有关申请。这包括:
所有这一切都通过代理服务器直接请求的资源。
已推断出通过分析响应代理请求的任何物品(前提是你没有禁用被动 Spider) 。
内容使用 Spider 或内容发现功能查找。
由用户手动添加的任何项目,从其它工具的输出。
已请求在 SiteMap 中的项目会显示为黑色。尚未被请求的项目显示为灰色。默认情
况下(与被动蜘蛛(passviely scan this host)启用) ,当你开始浏览一个典型的应用,
大量的内容将显示为灰色之前,你甚至得到尽可能要求,因为 BurpSuite 发现在您
所请求的内容链接到它。您可以删除不感兴趣的地址
Display Filter
Sitemap 可以用来隐藏某些内容从视图中,以使其更易于分析和对你感兴趣的
工作内容的显示过滤器
Sitemap 上方的过滤栏描述了当前的显示过滤器。点击过滤器栏打开要编辑的过滤
器选项。该过滤器可以基于以下属性进行配置:
Request type
你可以只显示在范围内的项目,只能与反应项目,或者带参数的请求。
MIME type
您可以设定是否显示或隐藏包含各种不同的 MIME 类型,如 HTML,CSS 或图
像的响应。
Status code
您可以设定是否要显示或隐藏各种 HTTP 状态码响应。
Search term
您可以过滤对反应是否不包含指定的搜索词。您可以设定搜索词是否是一个文
字字符串或正则表达式,以及是否区分大小写。如果您选择了“消极搜索”选项,
然后不匹配的搜索词唯一的项目将被显示。
File extension
您可以设定是否要显示或隐藏指定的文件扩展名的项目。
Annotation
您可以设定是否显示使用用户提供的评论或仅亮点项目。
Annotations
通过添加注释和批注亮点代理历史记录项。这可能是有用的描述不同要求的目
的,并标记了进一步查看。
您可以通过添加注释和批注亮点代理历史记录项。这可能是有用的描述不同要
求的目的,并标记了进一步查看。
两种方式添加亮点:
1)使用在最左边的表列中的下拉菜单中突出显示单个项目。
2)可以突出显示使用上下文菜单中的“亮点”项目的一个或多个选定的项目。
两种方法添加注释:
1)双击相关条目,注释列中,添加或编辑就地评论。
2)发表评论使用上下文菜单中的“添加注释”项目的一个或多个选定的项目。
除了以上两种,您也可以注释项目,它们出现在拦截选项卡,这些都将自动出现
在历史记录表。
当您已经注明想要的请求,您可以使用列排序和显示过滤器后迅速找到这些项
目。
Scope
Proxy
1) http
2) https
1.以管理员权限运行 ie 浏览器,
2.像 http 那样配置好代理
3.在地址栏访问 https 地址,单击继续
4.点击错误证书在这个地址栏
5.点击查看证书
6.在证书路径选项卡点击 PortSwigger CA,然后再点击查看证书
7.在常规选项卡里点击安装证书
8.在证书导入向导中,选择“将所有的证书放入下列存储区”受信任的跟证书颁发
机构
9.点击浏览
10.以当前用户或者本机计算机都可以
11.点击 ok 完成导入
12.重启 ie(不需要以管理员权限运行)
其它浏览器差不多具体请查看官网
http://portswigger.net/burp/Help/proxy_options_installingCAcert.html
Intercept
拦截到请求之后,发送信息到服务器或浏览器
2) Drop
3) Interception is on/off
4) Action
说明一个菜单可用的动作行为操作可以有哪些操作功能。
5) Comment field
6) Highlight
HTTP history
1) History Table
您可以通过单击任何列标题进行升序或降序排列。如果您在表中双击选择一个
项目地址,会显示出一个详细的请求和响应的窗口。或者右击选择 Show new
history window
2) Display Filter
3) Annotations
您可以通过添加注释和批注高亮代理历史记录项。用于描述不同要求的记录项,
并标记以便进一步查看。
两种方式添加亮点:
1)使用在最左边的表列中的下拉菜单中突出显示单个项目。
2)可以突出显示使用上下文菜单中的“亮点”项目的一个或多个选定的项目。
两种方法添加注释:
3)双击相关条目,注释列中,添加或编辑就地评论。
4)发表评论使用上下文菜单中的“添加注释”项目的一个或多个选定的项目。
除了以上两种,您也可以注释项目,它们出现在拦截选项卡,这些都将自动出现
在历史记录表。
当您已经注明想要的请求,您可以使用列排序和显示过滤器后迅速找到这些项目。
测试工作流
以及显示通过代理传递的所有消息的详细信息,历史可以让您控制和启动特定的
攻击,使用上下文菜单。根据所示的历史类型,下列选项可供选择:
从作用域中添加/删除这些选项将创建新的目标范围规则,该规则在范围内添加或
删除选定的项。
扫描/蜘蛛/发送…你可以把任何一项其他打嗝的工具,进行进一步的攻击或分析。
发送请求的工具之间的能力形式的打嗝的用户驱动的工作流的核心。
显示响应浏览器-你可以用它来呈现在浏览器中选定的反应,避免打嗝的内置的
HTML 渲染器的局限性。当你选择这个选项时,打嗝,给你一个独特的 URL,你可
以粘贴到你的浏览器(配置为使用打嗝当前实例作为其代理),呈现响应。由此产
生的浏览器请求服务与精确的反应打嗝你选择(请求转发到原始 Web 服务器),
但反应在最初请求的 URL 的浏览器处理上下文。因此,响应中的相关链接将被您
的浏览器处理好。作为一个结果,你的浏览器可能会额外要求(图片、CSS 等)在
渲染响应的课程将以通常的方式处理打嗝。
在浏览器的请求,你可以使用这个重新发行你的浏览器的选择要求(配置为使用
打嗝当前实例作为其代理)。以下的子选项可供选择:
在最初的会议-这导致打嗝发出请求的 Cookie 标头使用精确的原始请求中出现。
在当前的浏览器会话 引起打嗝发出请求的浏览器使用提供的饼干。你可以使用这
个功能,方便的访问控制测试,通过选择请求在打嗝,在一个用户的背景下产生
的(例如管理员),并补发请求在不同的用户环境,你现在的身份登录(例如一
个普通用户)。当你面对的是复杂的、多阶段的过程,这种方法,手工粘贴一系列
的网址到您的浏览器从打嗝,通常比重复一个多阶段的过程,轻松了许多,并修
改使用代理手工饼干。
接合工具[专业版]这个子菜单包含实施参与相关任务的各种有用的功能:
找到引用[专业版]你可以使用查找引用函数来搜索所有打嗝的工具 HTTP 响应链接
到所选项目。
发现内容- [支持版本]你可以使用发现的内容功能,发现内容和功能,不链接从可
见的内容,你可以浏览到或蜘蛛。
计划任务- [支持版本]您可以使用日程任务函数来创建自动在规定的时间和间隔中
自动运行的任务。
产生 CSRF POC - [专业版]你可
WebSockets history
Options
设置代理监听、请求和响应,拦截反应,匹配和替换,ssl 等。
1) Proxy Listeners
a) Binding
这些设置控制 Burp 怎么代理监听绑定到本地网络接口:
Bind to port----这是将被打开侦听传入连接到本地接口上的端口。你将需要使用
一个没有被其他应用程序绑定的闲置端口。
Bind to address----这是 Burp 绑定到本地接口的 IP 地址。您可以绑定到刚刚
127.0.0.1 接口或所有接口,或任何特定的本地 IP 地址。
注意:如果监听绑定到所有接口或特定的非 loopback 接口,那么其他计算机可
能无法连接到该代理。这可能使他们发起出站连接,从您的 IP 地址发起,并以访问
代理服务器历史的内容,其中可能包含敏感数据,如登录凭据。你应该只启用位于
一个受信任的网络上。
BurpSuite 让您创建多个代理服务器的侦听地址,并提供了丰富的可控制的配置选
项。你可能偶尔需要进行测试时不寻常的应用,或与一些非基于浏览器的 HTTP 客
户端进行合作,可以利用这些选项。
b) Request Handling
这些设置包括选项来控制是否 BurpSuite 重定向通过此侦听地址接收到的请求:
Redirect to host - 如果配置了这个选项,Burp 会在每次请求转发到指定的主机,
而不必受限于浏览器所请求的目标。需要注意的是,如果你正使用该选项,则可能
需要配置匹配/替换规则重写的主机头中的请求,如果服务器中,您重定向请求预
期,不同于由浏览器发送一个主机头。
Redirect to port - 如果配置了这个选项,Burp 会在每次请求转发到指定的端口,
而不必受限于浏览器所请求的目标。
Force use of SSL - 如果配置了这个选项,Burp 会使用 HTTPS 在所有向外的连
接,即使传入的请求中使用普通的 HTTP。您可以使用此选项,在与 SSL 相关的响
应修改选项结合,开展 sslstrip 般的攻击使用 Burp,其中,强制执行 HTTPS 的应用
程序可以降级为普通的 HTTP 的受害用户的流量在不知不觉中通过 BurpProxy 代理。
注意:每一个重定向选项都可以单独使用。因此,例如,可以将所有请求重定向到
一个特定的主机,同时保留原来的端口和协议在每个原始请求中使用。隐形
BurpProxy 的支持允许非代理感知客户端直接连接到监听地址。
c) Certificate
这些设置控制呈现给客户端的 SSL 服务器的 SSL 证书。使用这些选项可以解决
一些使用拦截代理时出现的 SSL 问题:
你可以消除您的浏览器的 SSL 警报,并需要建立 SSL 例外。
凡网页加载来自其他域的 SSL 保护的项目,您可以确保这些均可由浏览器加载,
而不需要先手动接受每个引用的域代理的 SSL 证书。
如果接收到无效的 SSL 客户端应用程序证书,您可以拒绝连接到服务器,。
下列选项可用:
Use a self-signed certificate
一个简单的自签名 SSL 证书提交给您的浏览器,可能会导致 SSL 警告。
Generate CA-signed per-host certificate
这是默认选项。安装后,BurpSuite 创造了一个独特的自签名的证书颁发机构
(CA)证书,并将此计算机上使用,每次 BurpSuite 运行。当你的浏览器发出 SSL
连接到指定的主机,Burp 生成该主机通过 CA 证书签名的 SSL 证书。您可以安装
BurpSuite 的 CA 证书作为在浏览器中受信任的根,从而使每个目标主机的证书被
接受,没有任何警报。您还可以导出其他工具或 Burp 的其他实例使用 CA 证书。
Generate a CA-signed certificate with a specific hostname
这类似于前面的选项。然而 Burp 会产生一个单一的主机证书与每一个 SSL 连接
使用,使用您指定的主机名。在进行无形的代理时,此选项有时是必要的,因为客
户端没有发送连接请求,因此 Burp 不能确定 SSL 协议所需的主机名。你也可以安
装 BurpSuite 的 CA 证书作为受信任的根。
Use a custom certificate
此选项使您可以加载一个特定的证书(在 PKCS#12 格式)呈现给你的浏览器。
如果应用程序使用它需要特定的服务器证书(例如一个给定序列号或证书链)的
客户端应该使用这个选项。
4)Exporting and Importing the CA Certificate
您可以导出您安装特定的 CA 证书在其他工具或 BurpSuite 的其他情况下使用,
并且可以导入证书 Burp 在当前实例使用。
您可以选择要导出的证书只(用于导入到您的浏览器或其他设备的信任),或者
你可以同时导出的证书及其私钥。
注意:您不应该透露的私钥证书给任何不可信的一方。拥有你的证书和密钥的恶意
攻击者可能可以,即使你不使用 Burp 拦截浏览器的 HTTPS 流量。
您也可以仅通过访问 http://burp/cert 在浏览器中导出证书。它使 HTTPS 请求您的浏
览器相同的证书,但在一些移动设备上安装时,设备通过一个 URL 来下载它是有
帮助的。
1) Interception Options
设置控制哪些请求和响应都停滞用于查看和编辑在拦截选项卡。单独的设置将
应用到请求和响应。
在“Intercept”复选框确定是否有讯息拦截。如果它被选中,然后 Burp 应用配置的
规则对每个消息,以确定它是否应该被拦截。
个别规则可以激活或停用对每个规则的左边的复选框。规则可以被添加,编辑,
删除,或使用按钮重新排序。规则可以在消息,包括域名, IP 地址,协议, HTTP
方法, URL,文件扩展名,参数,cookie ,头/主体内容,状态代码,MIME 类型,
HTML 页面标题和代理的几乎任何属性进行配置侦听端口。您可以配置规则来只拦
截项目的网址是目标范围之内的。可以使用正则表达式对定义复杂的匹配条件。
规则按顺序处理,并且使用布尔运算符 AND 和 OR 组合。这些都与处理简单的
“从左到右”的逻辑,其中每个算子的范围,如下所示:(所有规则之前累积的
结果)和/或(当前规则的结果)所有活动的规则在每封邮件进行处理,并最终活
动规则应用后的结果确定消息是否被拦截或转发的背景。“自动更新内容长度”复
选框控件时,这已被用户修改是否 Burp 自动更新消息的 Content-Length 头。使用这
个选项通常是必不可少的,当 HTTP 主体已被修改。
如果有需求,可以在请求结束时自动修复丢失或多余的新行。如果编辑请求不
包含标题下面一个空行,Burp 会自动添加。如果与含有 URL 编码参数的身体的编
辑请求包含任何换行符在身体的末端,Burp 就会删除这些。这个选项可以是有用的
纠正,而手动编辑在拦截视图的要求,以避免发出无效的请求向服务器发出的错
误。
2) Response Modification
设置用于执行自动响应的修改。您可以使用这些选项通过自动重写应用程序响
应的 HTML 来完成各种任务。
下列选项在数据删除客户端控件可能是有用的:
显示隐藏的表单字段。(有一个子选项,以突出强调取消隐藏栏在屏幕上,便于识
别。 )
启用已禁用的表单域
删除输入字段长度限制
删除的 JavaScript 表单验证
下列选项可用于禁止客户端逻辑用于测试目的(注意,这些特征并非设计用来作
为 NoScript 的的方式进行安全防御)有用:
删除所有的 JavaScript。
删除<object>标记。
下列选项可用于提供对受害用户的流量在不知不觉中被通过 BurpSuite 代理
sslstrip 般的攻击。您可以在与听者选项强制 SSL 的传出请求,以有效地从用户的连
接剥离 SSL 一起使用这些:
转换 HTTPS 为 HTTP 的链接。
删除 cookie 安全标志。
5) Miscellaneous
控制 Burp 代理的行为的一些具体细节。下列选项可用:
Use HTTP/1.0 in requests to server - 该选项控制 BurpSuite 代理是否强制在请
求目标服务器的 HTTP 1.0 版。默认设置是使用任何的 HTTP 版本所使用的浏览器。
然而,一些遗留服务器或应用程序可能需要 1.0 版本才能正常工作。
Use HTTP/1.0 in responses to client - 目前所有的浏览器都支持这两个版本 1.0
和 HTTP 1.1 。从 1.0 版本开始已经减少了一些功能,迫使使用 1.0 版本有时会很有
用,以控制浏览器的行为的各个方面,例如防止企图执行 HTTP 流水线。
Set response header “Connection:close” - 这个选项也可能是有用的,以防止
HTTP 流水线在某些情况下。
Unpack gzip / deflate in requests - 某些应用程序(通常是那些使用自定义客户
端组件) ,压缩在请求消息体。该选项控制 BurpProxy 是否自动解压缩压缩请求主
体。请注意,某些应用程序可能被破坏,如果他们期望的压缩体和压缩已通过 Burp
被删除。
Unpack gzip / deflate in responses - 大多数浏览器接受的 gzip 和响应紧缩压缩
的内容。该选项控制 BurpSuite 代理是否自动解压缩压缩响应机构。请注意,您可以
经常防止服务器试图通过删除请求(可能使用 BurpProxy 的匹配和替换功能)的
Accept-Encoding 头压缩的响应。
Disable web interface at http://burp - 如果你不得不配置你的听众接受无保护的
接口上的连接,并希望阻止他人接触到 Burp 浏览器控件,此选项可能有用。
Suppress Burp error messages - 当某些错误时,默认情况下 BurpSuite 返回有
意义的错误信息到浏览器。如果你想在隐身模式下运行 Burp,履行人在这方面的中
间人攻击的受害者用户,那么它可能是有用的抑制这些错误信息来掩盖一个事实,
即 Burp 是参与。
Disable logging to history and site map - 此选项可以防止 Burp 从记录任何请求
到代理服务器的历史或目标站点地图。如果您使用的是 Burp 代理对于一些特定用
途,如身份验证到上游服务器或进行匹配和替换操作,并且要避免产生内存和存
储开销采伐牵扯它可能是有用的。
Enable interception at startup- 此选项可让您设定是否在 Burp 时启动代理截获
应该启用。您可以选择始终启用拦截,始终禁用拦截,或者从 Burp 上次关闭恢复
设置。
Spider
Control tab
1)Spider running
这个是用来开始和停止 Spider。Spider 停止后,它自己不会产生请求,但它会
继续处理通过 Burp Proxy 的响应,并且在 spidering 范围内的新发现的项都会送入
请求队列 里,当 Spider 重新启动时,再来请求。这里显示的一些 Spider 进度的指
标,让你能看到剩余的内容和工作量的大小。
2)Clear queues
如果你想改变你工作的优先权,你可以完全地清除当前队列的项目,来让其他
的项目加入队列。注意如果被清除的项目如果还在范围内并且 Spider 的分析器发现
有新的 链接到这个项目,那么它们还会加入队列。
Spider Scope
Options tab
1)check robots.txt
如果这个选项被选中,Burp Spider 会要求和处理 robots.txt 文件,提取内容链
接。这个文件是由机器人排除协议控制的蜘蛛状制剂在互联网上的行为。请注意,
注意 Burp Spider 不会确认 robots 排除协议。Burp Spider 会列举出目标应用程序的
所有内容,请求所有在范围 内的 robots.txt 条目。
2)detect custom "not found" responses
HTTP 协议需要向 Web 服务器返回 404 状态码,如果一个请求的资源不存在。
然而,许多 Web 应用程序返回使用不同的状态代码定制为“not found”的网页。如
果是这种情况,则使用该选项可以防止误报的网站内容的映射。Burp Spider 从每个
域请求不存在的资源,编制指纹与诊断“not found”响应其它请求检测定制“not
found”的回应。
3)ignore links to non-text content
常常需要推断出在 HTML 上下文里链接到特殊资源的 MIME 类型。例如,带有
IMG 标记的 URL 会返回图像;那些带有 SCRIPT 标记的会返回 JavaScript。如果这
个选项被选中,Spider 不会请求在这个上下文出现的出现的非文本资源。使用这个
选 项,会减少 spidering 时间,降低忽略掉感兴趣内容的风险。
4)request the root of all directories 如果这个选项被选中,Burp Spider 会请求所有
已确认的目标 范围内的 web 目录,除了那些目录里的文件。如果在这个目标站点
上目录索引是可用的, 这选项将是非常的有用。
5)make a non-parameterised request to each dynamic page
如果这个选项被选中,Burp Spider 会对在范围内的所有执行动作的 URL 进行
无参数的 GET 请求。如果期待的参数没有被接收, 动态页面会有不同的响应,这
个选项就能成功地探测出添加的站点内容和功能。
6)maximum link depth
这是 Burp Suite 在种子 URL 里的浏览”hops”的最大数。0 表示让 Burp Suite 只请求
种子 URL。如果指定的数值非常大,将会对范围内的链接进行无限期的有效跟踪。
将此选项设置为一个合理的数字可以帮助防止循环 Spider 在某些种类的动态生成
的内容。
7)Maximum parameterized requests per URL
请求该蜘蛛用不同的参数相同的基本 URL 的最大数目。将此选项设置为一个合
理的数字可以帮助避免爬行“无限”的内容,如在 URL 中的日期参数的日历应用程
序。
Passive Spidering(被动扫描)
1)individuate forms
这个选项是配置个性化的标准(执行 URL,方法,区域,值)。当 Burp Spider 处
理这些表格时,它会检查这些标准以确认表格是否是新的。旧的表格不会加入到提
交序列。
2)Don’t submit
如果选中这个,Burp Spider 不会提交任何表单。
3)prompt for guidance
如果选中这个,在你提交每一个确认的表单前,Burp Suite 都会为你指示引导。
这允许你根据需要在输入域中填写自定义的数据,以及选项提交到服务器的哪一
个 区域,以及是否遍历整个区域。
4)automatically submit
如果选中,Burp Spider 通过使用定义的规则来填写输入域的文本值来自动地提
交范围内的表单。每一条规则让你指定一个简单的文本或者正则表达式来匹配表单
字段名,并提交那些表单名匹配的字段值。可以为任意不匹配的字段指定默认值。
在应用程序通常需要对所有输入域都是有效格式的数据的地方,如果你想通过登
记表单 和相似功能自动地 spider,则这个选项会非常有用。在自动地把表单数据提
交到广阔范围内 的应用程序时,Burp 使用一组非常成功的规则。当然,如果你遇
到有自己需要提交的特定 值的表单字段名时,你可以修改这些或者添加自己的规
则。你要小心地使用这个选项,因为 提交了表单里的虚假值有时会导致一些不希望
看到操作。
许多表单包含了多个提交元素,这些会对应用程序进行不同的操作,和发现不同
的内容。 你可以配置 Spider 重复通过表单里提交元素的值,向每个表单提交多次,
次数低于配置的 最大值。
Application Login
Spider Engine
Request Headers
Scanner
分以下几个步骤来简单使用 Scanner
1.设置好代理之后在地址栏输入你要抓取的地址,并且要在 Proxy 里把拦截关了,
随后切换到 Scanner 的 Results 就可以看到地址已经在开始扫描咯
2.对地址右击还可以导出报告,
3.如果扫描出漏洞了我们还可以直接在这针对某个漏洞进行查看,如果想测试的话
可以发送到 Repeater 进行测试哦
Results
结果选项卡包含所有的扫描仪已确定,从主动和被动扫描的问题。以一种树型
图显示应用程序的内容,其中的问题已经被发现,使用 URL 分解成域,目录和文
件的层次表示。如果您选择一个或多个部分的分支,所有选定的项目将扫描的问题
都列出来,用组合在一起的相同类型的问题。您还可以扩大这些问题汇总查看所有
的每种类型的个别问题。
如果您选择的问题那么将显示相应的详情,包括:
1)自定义的漏洞,咨询内容包括:
问题类型及其整治的标准描述。
中适用于该问题,并影响其修复任何特定的功能的描述。
2)完整的请求和响应都是依据报告了该问题。在适用的情况,是相关的识别和再现
问题的请求和响应的部分在请求和响应消息的编辑器中突出显示。
通常情况下,测试并验证一个问题最快的方法是使用发送到 Repeater。另外,
对于 GET 请求,您可以复制此 URL,并将其粘贴到浏览器中。然后,您可以重新
发出请求。
Burp 扫描报告描述,每一个问题都会给出严重程度(高,中,低,资讯)和置信
度(肯定的,坚定的,暂定)的评级。当一个问题一直使用一种技术,本质上是不
太可靠(如 SQL 盲注)确定,Burp 会让你意识到这一点,通过丢弃的置信水平存
在一定不足。这些额定值应始终被解释为指示性的,你应该根据你的应用程序的功
能和业务方面的知识进行审查。
这个问题已经上市,你可以用它来执行以下操作的上下文菜单:如图所示
删除选定问题。请注意,如果你删除了一个问题,Burp 重新发现了同样的问题
(例如,如果你重新扫描了同样的要求),那么问题将再次报告。相反,如果你是
一个假阳性标记的问题,那么这将不会发生。因此,最适合用于清理扫描结果移除
你不感兴趣。对于内部的功能不需要您的问题仍然工作在主机或路径删除的问题,
您应该使用假阳性的选项。
Scan Queue
Active Scanning(主动扫描)过程通常包括发送大量请求到服务器为所扫描的每
个基本的请求,这可能是一个耗时的过程。当您发送的主动扫描请求,这些被添加
到活动扫描队列,它们被依次处理。如图
扫描队列中显示每个项目的详细信息如下:
1)索引号的项目,反映该项目的添加顺序。
2)目的地协议,主机和 URL 。
3)该项目的当前状态,包括完成百分比。
4)项目扫描问题的数量(这是根据所附的最严重问题的重要性和彩色化) 。
5)在扫描项目的请求数量进行。
注意 这不是插入点的数量的线性函数 - 观察应用程序行为的反馈到后续攻击的请
求,仅仅因为它会为一个测试仪。
6)网络错误的数目遇到的问题。
7)为项目创建的插入点的数量。
这些信息可以让您轻松地监控个别扫描项目的进度。如果您发现某些扫描进度
过于缓慢,可以理解的原因,如大量的插入点,缓慢的应用响应,网络错误等给
定这些信息,你就可以采取行动来优化你的扫描,通过改变配置为插入点时,扫
描引擎,或正在测试的主动扫描区域。
你可以双击任何项目在扫描队列显示,到目前为止发现的问题,并查看了基本
请求和响应的项目。您可以使用扫描队列的上下文菜单来执行各种操作来控制扫描
过程。确切的可用选项取决于所选的项目(S )的状态,并包括:如下图所示
Show details
这将打开显示到目前为止发现的问题的一个窗口,与底座请求和响应的项目。
Scan again
此复制所选择的项目(S ) ,并将这些队列的末尾。
Delete item(S)
这将永久地从队列中删除选定的项目(S ) 。
这永久删除那些已经完成了队列中的任何项目。
这是否切换扫描器会自动从队列为他们完成删除项目。
Pause/resume scanner
这可以暂停和恢复激活扫描仪。如果任何扫描正在进行时,扫描会暂停,而挂
起的扫描请求完成后,通常会有一个短暂的延迟。
Send to
这些选项用于所选项目的基本请求发送到其它 Burp(Repeater、Intruder)工具。
Live Scanning
实时扫描可让您决定哪些内容通过使用浏览器的目标应用,通过 BurpProxy 服
务器进行扫描。您可以实时主动扫描设定 live active scanning 和 live passive 两种扫
描模式。如图
Live active scanning
执行现场主动扫描,请执行以下步骤:
1)配置与目标的细节,你要主动扫描现场主动扫描设置。如果你已经配置了一
套全范围的目标为你目前的工作,那么你可以简单地通知 Burp 主动扫描落在该范
围内的每个请求。或者,您可以使用 URL 匹配规则定义自定义范围。
2)各地通过 BurpProxy 通常的方式应用浏览。这将有效地展示 Burp 要扫描的应
用功能。对于每一个独特的所在范围的要求,你通过你的浏览器,Burp 会排队主动
扫描请求,并将努力走在后台找到漏洞为您服务。
现场演示被动扫描,请执行以下步骤:
1)配置具有您要被动地扫描目标的细节 live passive scanning。默认情况下,Burp 执
行所有请求的被动扫描,但你可以限制扫描目标范围,或者使用 URL 匹配规则的
自定义范围。
2)通过 BurpProxy 通常的方式应用浏览。这将有效地展示 Burp 你要扫描的应用功能
Options
这些设置控制扫描仪的地方“插入点(insertion points)”到被发送的主动扫描每
个基本要求。插入点攻击将被放置,探测漏洞请求中的位置。每个定义的插入点单
独扫描。
BurpSuite 为您提供细粒度地控制放置插入点,以及这些选项仔细配置会让您
量身定制您的扫描到您的目标应用程序的性质。插入点的配置也代表你的扫描速度
和全面性之间进行权衡。
注:除了让 Burp 自动指定插入点,就可以完全自定义这些,这样你就可以在你想
要攻击的地方放在任意一个位置。要使用此功能,将请求发送给 Intruder,用
payload positions 标签来定义通常的方式各插入点的开始和结束,并选择入侵者菜
单选项“积极定义扫描插入点” 。您也可以指定以编程方式使用 Burp 扩展的自定
义插入点位置。
1)Insertion Point Locations
这些设定可让您选择,其中插入点应放在请求中的位置的类型:
URLparameter values - URL 查询字符串中标准的参数值。
Body parameter values - 在邮件正文中,包括标准形式生成的参数参数值,属性的
多重编码的参数,如上传的文件名, XML 参数值和属性,和 JSON 值。
Cookieparameter values - 的 HTTP Cookie 的值。
Parameter name - 任意添加的参数的名称。 URL 参数总是被添加,并且机身参数
也加入到 POST 请求。测试一个附加的参数名称通常可以检测到被错过,如果只是
参数值进行了测试异常的错误。
HTTPheaders - 在引用页和用户代理标头的值。测试这些插入点通常可以检测如
SQL 注入或跨站脚本持续在日志记录功能的问题。
AMF string parameters- 内 AMF 编码的邮件的任何字符串数据的值。
REST-style URL parameters - URL 的文件路径部分中的所有目录和文件名 tokens
的值。测试每一个插入点可以并处显著开销,如果你相信应用程序使用这些位置传
送参数数据,才应使用。
2)Change Parameter Locations
允许您配置扫描仪将一些类型的插入点到其他地点的请求中,除了测试他们在
原来的位置。例如,您可以将每个 URL 参数到邮件正文中,并重新测试它。或者你
可以移动身体的每个参数到一个 cookie ,然后重新测试它。
用这种移动参数方式往往可以绕过防过滤器。许多应用程序和应用程序防火墙
执行每个参数输入验证假设每个参数是它的预期位置的要求之内。移动参数到不同
的位置可以回避这个验证。当应用程序代码后检索参数来实现其主要的逻辑,它可
能会使用一个 API,它是不可知的,以参数的位置。如果是这样,那么移动的参数
可能可以使用输入,通常会在处理之前被过滤,以达到易受攻击的代码路径。
下列选项可用于更改参数的位置:
URL to body
URL to cookie
Body to URL
Body to cookie
Cookie to URL
Cookie to body
主动扫描逻辑的行为,以反映扫描的目的和目标应用程序的性质。例如,您可
以选择更容易发现问题,在一个大型应用程序的快速扫描;或者您可以执行更慢全
面扫描,以发现更难,而且需要更多的扫描请求,以检测问题。
下列选项可用:
Scan speed(扫描速度) - 该选项决定彻底的某些扫描检查,怎么会检查是否有漏洞
时。 “Fast(快速)”设置使更少的请求,并检查一些漏洞更少的推导。在
“Thorough(彻底)”的设置使更多的请求,并检查更多的衍生类型的漏洞。
“Normal(正常)”设定为中途在两者之间,并且代表速度和完整性之间的适当折衷
对于许多应用。
定义哪些是主动扫描过程中进行检查。是检查以下类别可供选择:
自定义的请求和响应的各个方面在被动扫描检查。下列选项可用:
Headers--头
Forms--表格
Links--链接
Parameters--参数
Cookie
MIME 类型
Caching 缓存
Information disclosure--信息披露
Frameable responses--耐燃反应(“点击劫持”)
ASP.NET 的 ViewState
需要注意的是被动扫描不会派出自己的任何要求,和每个被动强加检查您的计
算机上一个微不足道的处理负荷。不过,你可以禁用检查各个领域,如果你根本就
不关心他们,不希望他们出现在扫描结果。
Intruder
10)在包含在结果选项卡一个新的窗口中打开攻击。结果表包含已经取得,与各
关键细节,如所使用的有效载荷, HTTP 状态码,响应长度等,您可以在表中选
择任何项目,以查看完整的请求和响应每个请求的条目。您还可以对表进行排序通
过单击列标题,并使用过滤器栏过滤表中的内容。这些特征以相同的方式工作,作
为 Proxy history。
11)这次袭击窗口包含其他标签,显示被用于当前攻击的配置。您可以修改大部
分这种配置的攻击已经开始。转到选项选项卡,向下滚动到“ grep-match” ,并勾
选“标志的结果与项目相匹配的响应这些表达式” 。这将导致 Intruder 检查响应匹
配列表中的每个表达式项目和标志的火柴。默认情况下,列表显示 fuzzing 时是很
有用的一些常见的错误字符串,但可以配置,如果你想自己的字符串。返回 result
选项卡,看到 Intruder 增加了对每个项目列在列表中,而这些包含复选框,指示表
达式是否被发现在每一个响应。如果你是幸运的,你的基本模糊测试可能引发一个
错误的存在在一些回应的错误消息。
12)现在,在表中选择任何项目,并期待在该项目的响应。发现在反应(如网页
标题,或错误消息)一个有趣的字符串。右键单击该项目在表中,然后从上下文菜
单中选择“Define extrace grep from response” 。在对话框中,选择响应的有趣字符
串,然后单击“确定” 。结果表中现在包含一个新的列,其提取这一段文字从每个
响应(其可以是不同的在每一种情况下) 。您可以使用此功能来定位在大型攻击有
趣的数据与成千上万的反应。请注意,您还可以配置“extrace grep ”项目中的选项
选项卡,在此之前前或在攻击期间。
13)在结果表中选择任一项目,并打开上下文菜单。选择“Send to Repeater” ,
然后转到 Repeater 选项卡。你会看到所选的请求已被复制到 Repeater 工具,进行进
一步的测试。许多其他有用的选项是可用的上下文菜单中。有关发送 BurpSuite 工具
之间的项目,使整体测试工作流程的详细信息。
14)您可以使用“Save”菜单在结果窗口中都救不结果表或整个攻击。你可以加
载结果表到其他工具或电子表格程序。您可以通过在主 Burp 的 UI Intruder 菜单重新
加载保存的攻击。
15)这些步骤只介绍一个简单的用例 Intruder,对于 Fuzzing 的要求有一些标准
的攻击字符串和用 grep 搜索中的错误消息。您可以使用 Intruder 许多不同类型的攻
击,有许多不同的 payloads 和攻击选项。
for example
这里我本地搭建一个环境,爆破一个 php 大马,一句话木马就把 get 改成 post,如
果是 php 一句话,就在下面加上 php 这行代码,如图
asp
password=execute("response.clear:response.write(""passwordright""):response.end")
php
password=execute("response.clear:response.write(""elseHelloWorld""):response.end")
aspx
password=execute("response.clear:response.write(""elseHelloWorld""):response.end")。
一般步骤如下
1.代理好服务器地址,然后访问这个大马地址
2.随后点击 forward,并且在大马页面随便输入什么,burp 拦截了数据之后发送到
repeater
Target
用于配置目标服务器进行攻击的详细信息。所需的选项有:
Host(主机) - 这是目标服务器的 IP 地址或主机名。
Port(端口) - 这是 HTTP / S 服务的端口号。
Use HTTPS(使用 HTTPS),这指定的 SSL 是否应该被使用。
配置这些细节最简单的方法是选择你要攻击中 BurpSuite 的任何地方的请求,并选
择上下文菜单中的“Send to intruder”选项。这将发送选定的请求,在 intruder 一个
新的选项卡,将自动填充的目标和位置选项卡。
Positions
主要请求编辑器是用来定义从所有攻击请求都将被导出的请求模板。对于每一
个攻击的请求,BurpSuite 接受请求的模板,并把一个或多个有效载荷送入由有效
载荷标记定义的位置。
成立请求模板的最简单的方法是选择你要攻击中 BurpSuite 的任何地方的请求,并
选择上下文菜单中的“Send to intruder”选项。这将发送选定的请求,在 intruder 的
选项卡,将自动填充的 Target 和 Positions 选项卡。
Payload Markers
有效载荷的标记是使用§字符,并且功能如下放置:
1)每对标记指定一个有效载荷的位置。
2)一对标记物可以从它们之间任选的模板要求附上一些文字。
3)当一个有效载荷的位置被分配了一个有效载荷,无论是标记和任何包含的文本将
被替换为有效载荷。
4)当一个有效载荷的位置不具有分配的有效载荷,该标记将被删除,但是所包含的
文本保持不变。
为了使配置更加简单,Intruder 会自动突出显示每对有效载荷的标记和任何它
们之间包含的文本。
您可以手动或自动做有效载荷标记。当您从 BurpSuite 别处发送一个请求到
Intruder,Intruder 猜测你可能要放置有效载荷,并设置相应的有效载荷标记。您可
以修改使用按钮的默认有效载荷标记旁边的请求模板编辑器:
Add§ - 如果没有文本被选中,该插入一个有效载荷标记在光标位置。如果您已经选
择了一些文字,一对标记插入封闭选定的文本。
Clear§ - 这将删除所有的位置标记,无论是从整个模板或模板的选定部分。
Auto§ - 自动放置有效载荷标记。包括价值:
1)URL 查询字符串参数
2)车身参数
3)曲奇饼
4)多重参数属性(例如,在文件上传的文件名)
5)XML 数据和元素属性
6)JSON 参数
您可以配置自动负载位置是否将更换或追加到现有的参数值,通过入侵者菜单上
的选项。需要注意的是,如果一个子部分的要求,但不是整个消息体,包含格式化
数据使用 XML 或 JSON ,可以自动通过这种结构中的位置的有效载荷手动选择格
式化数据的准确块,并使用“自动”按钮在其定位的有效载荷。这是有用的,例如
当一个多参数的值包含在 XML 或 JSON 格式数据。
刷新 - 这将刷新请求模板编辑器的语法彩色化,如果必要的。
清除 - 这会删除整个请求模板。
注意:您也可以使用入侵者的有效载荷仓的 UI 通过 BurpSuite 扫描仪配置自定义插
入点主动扫描。要做到这一点,配置请求模板和有效载荷在标记内入侵者通常的方
式,然后选择从入侵者菜单中的“主动扫描定义插入点” 。
Attack type
也就是说,如果有两个有效载荷的位置,则该攻击将放置第一个有效载荷从
payload set 2 到 Positions 2 ,并通过在有效负载的所有 payload set 1 中的 positions
1 ;然后它将第二个有效载荷从载荷设置 2 到位置 2 ,并通过有效载荷全部载入循环
设置 1 到位置 1 。其中一个攻击需要不同的和无关的或未知输入要在多个地方插入
这种类型的攻击是非常有用的在请求中(例如猜测凭证,在一个参数的用户名,
并且在另一个参数密码时) 。在攻击中生成的请求的总数是在所有定义的有效载荷
的有效载荷集的数目的乘积 - 这可能是非常大的。
Payloads
Types
Processing
由配置的有效载荷类型生成的有效载荷可以使用各种有效载荷的处理规则和有
效负载编码可以进一步操纵。
1)Payload Processing Rules
在它被使用之前可以定义规则来对每个有效载荷执行各种处理任务。该定义的
规则按顺序执行,并且可以打开和关闭,以帮助调试与配置的任何问题。有效载荷
的处理规则是有用的在多种情况下,你需要生成不同寻常的有效载荷,或者需要
在一个更广泛的结构或在使用前编码方案包的有效载荷可达。
Add prefix - 添加一个文字前缀
Add suffix - 添加一个文字后缀
Match/replace - 将替换匹配特定正则表达式的有效载荷的任何部位,用一个
文字字符串表示。
Substring - 提取的有效载荷的子部分中,从指定的偏移量(0-索引)和至所
指定的长度开始。
Reverse substring - 对于子规则来说,最终的偏移量指定的有效载荷的末尾
向后计数,并且长度从端部向后偏移计数。
Modify case - 这个修改了的有效载荷的情况下,如果适用的话。同样的选项
作为的情况下修改有效载荷类型。
Encode - URL,HTML,Base64 的,ASCII 码或十六进制字符串构建各种平台:
采用不同的计划,该编码的有效载荷。
Hash - hash
Add raw payload - 这之前或之后,在当前处理的值增加了原始负载值。它可
以是有用的,例如,如果你需要提交相同的有效载荷在 raw 和哈希表。
Skip raw payload - 将检查是否当前处理的值匹配指定的正则表达式,如果
是这样,跳过有效载荷和移动到下一个。这可能是有用的,例如,如果知道一个参
数值必须有一个最小长度和要跳过的一个列表,比这更短的长度的任何值。
Invoke Burp extension - 调用一个 Burp exxtension(扩展)来处理负载。扩
展名必须已注册入侵者有效载荷处理器。您可以从已注册的当前加载的扩展可用的
处理器列表中选择所需的处理器。
是规则的以下类型:
2)Payload Encoding
你可以配置哪些有效载荷中的字符应该是 URL 编码的 HTTP 请求中的安全传输。
任何已配置的 URL 编码最后应用,任何有效载荷处理规则执行之后。
这是推荐使用此设置进行最终 URL 编码,而不是一个有效载荷处理规则,因为可以
用来有效载荷的 grep 选项来检查响应为呼应有效载荷的最终 URL 编码应用之前。..
Optins
Request Headers
这些设置控制在攻击 Intruder(入侵者)是否更新配置请求头。请注意,您可以完
全控制请求头通过在 Payload positions(有效载荷位置)标签的要求范围内。这些选项
可以用来更新每个请求的报头的方式,通常是有帮助的。
下列选项可用:
Update Content-length header(更新 Content-Length 头) - 此选项使 Intruder(入侵者)
添加或更新的 Content-Length 头的每个请求,与该特定请求的 HTTP 体的长度正确
的值。此功能通常用于该插入可变长度的有效载荷送入模板的 HTTP 请求的主体的
攻击至关重要。如果未指定正确的值,则目标服务器可能会返回一个错误,可能不
完全响应请求,或者可能无限期地等待在请求继续接收数据。
Set Connection:close(设置连接:关闭) - 此选项使 Intruder(入侵者)添加或更新连接
头的值为“close(关闭)” 。在某些情况下(当服务器本身并不返回一个有效的
Content-Length 或 Transfer-Encoding 头) ,这个选项可以让攻击更快速地执行。
Request Engine
Attack Results
这些设置控制哪些信息被捕获的攻击效果。下列选项可用:
Store requests/responses(存储请求/响应) - 这些选项确定攻击是否会保存单个请求
和响应的内容。保存请求和响应占用磁盘空间,在你的临时目录中,但可以让您在
攻击期间在众目睽睽这些,如果有必要重复单个请求,并将其发送到其他 Burp 工
具。
Make unmodified baseline request(未修改的基本请求) - 如果选择此选项,那么除
了配置的攻击请求,Burp 会发出模板请求设置为基值,所有有效载荷的位置。此请
求将在结果表显示为项目# 0 。使用此选项很有用,提供一个用来比较的攻击响应
基地的响应。
Use denial-of-service mode(使用拒绝服务的模式) - 如果选择此选项,那么攻击会发
出请求,如正常,但不会等待处理从服务器收到任何答复。只要发出的每个请求,
TCP 连接将被关闭。这个功能可以被用来执行拒绝服务的应用层对脆弱的应用程序
的攻击,通过重复发送该启动高负荷任务的服务器上,同时避免通过举办开放套
接字等待服务器响应锁定了本地资源的请求。
Store full payloads(保存完整的有效载荷) - 如果选择此选项,Burp 将存储全部有效
载荷值的结果。此选项会占用额外的内存,但如果你想在运行时执行某些操作,如
修改 payload grep setting(有效负载值设置),或重新发出请求与修改请求模板可能
需要。
Grep-Match
设置可用于包含在响应中指定的表达式标志结果的项目。对于配置列表中的每
个项目,Burp 会添加一个包含一个复选框,指出项目是否被发现在每个响应的新
成果列。然后,您可以到组排序此列(通过单击列标题)匹配的结果相加。
使用此选项可以是非常强大的,帮助分析大套的成绩,并迅速找出有趣的项目。例
如,在口令猜测攻击,扫描短语,如“password incorrect(密码不正确)”或“login
successful(登录成功)”,可以找到成功登录;在测试 SQL 注入漏洞,扫描含有“
ODBC ” , “error(错误)”等消息可以识别易受攻击的参数。
除了表达式匹配的列表,下列选项可用:
Match(匹配类型) - 指定的表达式是否是简单的字符串或 regular expressions(正则表
达式)。
Case sensitive match(区分大小写的匹配) - 指定检查表达式是否应区分大小写。
Exclude HTTP headers(不包括 HTTP 头) - 指定的 HTTP 响应头是否应被排除在检
查。
Grep-Extrack
可以被用来 Extrack(提取)从反应有用的信息进入攻击结果的表。对于配置列表
中的每个项目,Burp 会添加一个包含提取该项目的文本的新成果列。然后,您可以
排序此列(通过单击列标题)命令所提取的数据。例如我要匹配
information_schema 这个表。则可以这样写,都是需要匹配唯一的那种,也可以使
用正则,前提是你会写正则。在乌云社区有人提起过当时怎么匹配手机号,就可以
从这里提取。
Grep-Payloads
设置可用于含有所提交的有效载荷的反射标志的结果项。如果启用该选项,
Burp 会添加一个包含一个复选框,指示当前负载的值是否被发现在每个响应的新
成果列。 (如果使用一个以上的有效载荷,单独的列将每个有效载荷集加。 )
此功能可以在检测跨站点脚本和其他应对注入漏洞,它可以出现在用户输入动态
地插入到应用程序的响应是有用的。
下列选项可用:
Case sensitive match(区分大小写的匹配) - 指定检查 payload(负载)是否应区分大小
写。
Exclude HTTP headers(不包括 HTTP 头) - 这指定的 HTTP 响应头是否应被排除在
检查。
Match against pre-URL-encoded payloads(对预 URL 编码的有效载荷匹配) - 这是
正常的配置 Inturder(入侵者)请求中 URL 编码的有效载荷。然而,这些通常是由应
用程序解码,回荡在他们的原始形式。您可以使用此选项,以用于有效载荷 Burp
检查反应在他们的预编码形式。
Redirections
控制 Burp 在进行攻击时如何处理重定向。它往往是要遵循重定向来实现你的攻
击目标。例如,在一个口令猜测攻击,每一次尝试的结果可能只能通过下面的重定
向显示。模糊测试的时候,相关的反馈可能只出现在最初的重定向响应后返回的错
误消息。
下列选项可用:
Follow redirections(跟随重定向) - 控制重定向都遵循的目标。下列选项可用:
1)Never(从来没有) - 入侵者不会遵循任何重定向。
2)On-site only(现场唯一的) - 入侵者只会跟随重定向到同一个网页“网站” ,即使
用相同的主机,端口和协议的是在原始请求使用的 URL 。
3)In-scope only(调查范围内的唯一) - Intruder 只会跟随重定向到该套件范围的目标
范围之内的 URL 。
4)Always(总是) - Intruder 将遵循重定向到任何任何 URL 。您应使用此选项时应谨慎
- 偶尔, Web 应用程序在中继重定向到第三方的请求参数,并按照重定向你可能会
不小心攻击。
Process cookies in redirections(过程中的 Cookie 重定向) - 如果选择此选项,然后在
重定向响应设置任何 cookies 将被当重定向目标之后重新提交。例如,如果你正在
尝试暴力破解登录的挑战就可能是必要的,它总是返回一个重定向到一个页面显
示登录的结果,和一个新的会话响应每个登录尝试创建。
Burp 会跟进到 10 链重定向,如果必要的。在结果表中的列将显示重定向是否其次
为每个单独的结果,以及完整的请求和响应中的重定向链存储与每个结果的项目。
重定向的类型 Burp 会处理( 3xx 的状态码,刷新头,等)配置在一套全重定向选
项。
注意重定向:
在某些情况下,可能需要下面的重定向时只使用一个单线程的攻击。出现这种情况
时,应用程序存储会话中的初始请求的结果,并提供重定向响应时检索此。
自动下重定向有时可能会造成问题 - 例如,如果应用程序响应一个重定向到注销页
面的一些恶意的请求,那么下面的重定向可能会导致您的会话被终止时,它原本
不会这么做。
Attacks
Launching an Attack
攻击可以通过两种方式启动:
1)您可以配置 Target(目标),Positions(位置),Payloads(有效载荷)和
Options(选项卡)的攻击设置,然后选择从 Intruder(入侵者)菜单“Start
attack(开始攻击)”。
2)您可以通过从 Intruder menu(入侵者菜单)中选择“previously saved
attack(打开保存的攻击)”打开以前保存的攻击。
在单独的窗口中每次攻击会打开。该窗口显示攻击为它们生成的结果,使您能够修
改攻击配置实时,并与您的测试工作流程链接,或进行其他操作。
Result Tab
在结果选项卡包含在攻击发出的每个请求的全部细节。你可以过滤并标注此信
息来帮助分析它,并使用它来驱动您的测试工作流程。
1)Results Table
Results Table 显示已在 attack 中所有的请求和响应的详细信息。根据不同的
攻击配置,表可能包含以下几列,其中一些是默认隐藏的,可以使用 Columns 菜单
中取消隐藏:
request 请求数
Position 有效载荷位置编号
Payload 有效载荷
Status http 状态
Error 请求错误
Timeout 超时
Length 字节数
Comment 注释
2)Display Filter
结果选项卡,可以用来隐藏某些内容从视图中,以使其更易于分析和对你感兴
趣的工作内容显示过滤在结果表中。点击过滤器栏打开要编辑的过滤器选项。该过
滤器可以基于以下属性进行配置:
在结果选项卡中,攻击窗口包含每个从它目前的攻击是基于主界面的配置选项
卡中的克隆。这使您能够查看和修改攻击配置,同时进攻正在进行中。有关进一步
详情,请参阅各配置选项卡的帮助:目标职位有效载荷选项当修改一个跑动进攻
的配置,以下几点值得关注:攻击结构的某些部分是基本的攻击(如攻击类型和
有效载荷类型)的结构,并且攻击已经开始之后不能改变。改变配置的某些部分攻
击正在运行时,可能会有意想不到的效果。
例如,如果您使用的是数量的有效载荷和编辑字段中,然后更改才会生效,因
为每个键被按下;如果你最初从删除数字字段中,那么攻击可能会突然完成,因为
要字段现在包含一个较小的数字。我们强烈建议您暂停修改它们的配置运行前的攻
击。
Result Menus
结果视图包含几个菜单命令与控制的攻击,并进行其他操作。这些将在下面说
明。
1)Attack Menu(攻击菜单)
2)Save Menu(保存菜单)
attack - 这是用来保存当前攻击的副本,包括结果。保存的文件可以使用从主
Burp 的 UI Intruder 菜单中的“打开保存的攻击”选项来重新加载。
3)Columns Menu(列菜单)
这使您可以选择哪些可用的列是可见的攻击结果表。
Repeater
您可以使用中继器用于各种目的,如改变参数值来测试输入为基础的漏洞,发
出以特定的顺序要求,以测试逻辑缺陷,并可以多次重发从 Burp Scanning
results(扫描结果)的要求手动验证报告的问题。
For example:
Issuing Requests
主中继器的用户界面可让您在多个不同的请求同时工作,每一个在它自己的标
签。当你发送请求到中继器,每一件都是在自己的编号标签打开。
每个选项卡都包含以下项目:
控制发出请求,然后浏览请求的历史。目标服务器的请求将被发送显示 - 你可
以点击目标细节来改变这些。
HTTP 消息中包含的编辑器将发出的请求。您可以编辑该请求,并一遍又一遍地
重新发布它。
HTTP 消息编辑器,显示从上次发出的请求接收到的响应。
开始与中继器工作的最简单的方法是选择要在另一个 burp 工具(如 Proxy
history 或 site map)工作的要求,并在上下文菜单中使用“Send to
Repeater(发送到转发器)”选项。这将在中继器创建一个新的请求选项卡,并自动
填充目标细节和请求消息的编辑器相关的细节。然后,您可以修改并发出所需的要
求。当你的要求准备好发送,点击“go(转到)”按钮,将其发送到服务器。当这个
被接收时,与响应长度和一个计时器(以毫秒为单位)一起被显示的响应。您可以
使用通常的 HTTP 消息的编辑功能,以帮助分析请求和响应消息,并开展进一步的
行动。
Request History
Repeater Options
Options
Unpack gzip/deflate
Follow redirections
此设置控制是否重定向响应会被自动执行。下列选项可用:
1)Never - 中继器将不会跟随任何重定向。
2)On-site only - 中继器将只跟随重定向到同一个网页“site”,即使用相
同的主机,端口和协议的是在原始请求使用的 URL。
3)In-scope Only - 中继器将只跟随重定向到该套件范围的目标范围之内的
URL。
4)Always - 中继器将跟随重定向到任何 URL 任何责任。您应使用此选项时应谨
慎 - 偶尔,Web 应用程序在中继重定向到第三方的请求参数,并按照重定向你可
能会不小心攻击你不想要的。
此子菜单允许您配置了请求/响应面板的布局。您可以在顶部/底部,左/右拉开
或在选项卡中查看 HTTP 消息。
Action
此子菜单包含相同的选项,可在通过请求和响应消息编辑器的上下文菜单。
Sequencer
Randomness Tests
Character-Level Analysis
Bit-Level Analysis
Bit-level test(位级测试)是比字符级测试功能更强大。启用位级的分析,每
个 tokens 被转换成一组比特,与由字符集的每个字符位置的大小来确定的比特的
总数。如果任何职位聘用,其大小不是 2 的圆形电源的字符集,在该位置的样本数
据被转换成其大小是两个最接近的较小的圆形电源的字符集。在该位置的数据的部
分比特被有效地合并成从该位置所产生的全部位。这个翻译是在被设计为保留原始
样本的随机性特点,不会引入或移除任何偏见的方式进行。然而,这种类型的没有
进程可以是完美的,它很可能与分析非圆字符集大小的样本将介绍一些不准确到
分析结果的过程。当每个 tokens 已被转换成一个比特序列,下面的测试是在每个
位的位置进行:
Samples
在一个应用程序的令牌进行随机试验中,首先有必要获得这些令牌的合适的样
品。这可以通过两种方式来完成:通过直接从目标进行标记的自动 live
capture(实时捕捉),或通过 Manually loading(手动加载)令牌,你已经取得的样
本。
Live Capture
Pause/resume(暂停/恢复) - 这将暂时停顿,然后继续,捕捉。
Manual load
Analysis Options
Token handling
令牌过程中如何分析处理这些设置控制。下列选项可用:
Pad short tokens at start/end(垫短令牌在开始/结束) - 如果由应用程序产生
的标记具有可变长度,这将需要被填充,以使将要进行的统计检验。您可以选择是
否填充应在开始或每个标记的结尾被应用。在大多数情况下,填充令牌在开始是最
合适的。
Pad with(垫) - 您可以指定将用于填充字符。在大多数情况下,对于数字或 ASCII
十六进制编码的令牌,填充与“0”字符是最合适的。
Base64-decode before analyzing(base64 解码分析之前) - 如果令牌是 Base64
编码,可以配置 Burp 分析,这将普遍提高在编码分析之前的准确度。
Token Analysis
这些选项控制所执行分析的类型。您可以单独启用或禁用每种类型的字符级和位级
测试。有时候,启用所有测试进行了初步分析后,您可能需要禁用某些测试,以反
映您更好的了解所标记的特点,或以隔离受您的样品表现任何不寻常的特性的影
响。
在结果窗口中,修改任何的分析选项后,您可以点击“重做分析”按钮,您的新
设置重新进行了分析,并更新结果。
Result
Summary
summary 选项卡是看获得有关随机性样品中的程度的总体结论首位。它包括一
个图表,显示的有效熵以上各显着性水平的位的数目。这提供了一个直观的判决用
来传递随机性测试不同的可能显着性水平的位的数目。
该标签还报告了结果的可靠性的估计值,是根据样本的数量。
Character-level analysis
人物层次的分析选项卡显示所有字符级测试结果摘要,并让您深入到每个字符
级测试的细节。它也包含图表显示的字符集在每个位置的大小,并且熵的比特可以
从每个字符位置来提供的最大数量。
注意,字符级测试是不可靠的,如果所采用的字符集的大小过大相对于样本的数
目。例如,如果一个令牌采用了 64 个不同的字符在每个位置,你只捕获 100 个样品
还有隔靴搔痒的样本数据得出关于角色分配的任何可靠的结论。出于这个原因,当
存在的不可靠的结果的危险,burp 序将自动禁止字符级测试,以防止破坏整体合
并结果从分析的字符级的结果。
Bit-level analysis
该位层次的分析选项卡中显示了所有位级的测试结果摘要,并让您深入到每一
个位级测试的细节。这可以让你获得样品的性能有更深的了解,找出任何异常的原
因,并评估令牌预测的可能性。
还有一个图表,显示位贡献的令牌中的每一个字符的位置的数目。这将使你的令牌
中交叉引用各个位回到原来的字符位置,如果你需要。
Analysisi options
分析选项卡显示已配置的分析的选项。如果需要重新进行分析,您可以修改这些
Decoder
您可以将数据加载到解码器在两个方面:
键入或直接粘贴到顶部编辑器面板。
选择数据中 burp 的任何位置,然后从上下文菜单中选择“发送到解码器”。
您可以使用“文本”和“十六进制”按钮来切换编辑器的类型来对数据使用。
Transformations
转换不同的变换可以应用到的数据的不同部分。下面的解码和编码操作可用:
1)Url
2)HTMLBase64
3)十六进制
4)ASCII 码
5)八进制
6)二进制
7)GZIP 等
各种常用的散列函数是可用的,取决于你的 Java 平台的功能。
Working manually
要进行手动解码和编码,使用下拉列表选择所需的变革。所选择的转型将被应
用到选定数据,或整个数据如果没有被选中。
Smart decoding
Comparer
Performing Comparisons
加载数据的每个项目显示为两个相同的列表。要进行比较,从每个列表中选择其他
项目,并单击其中的“comparsions”按钮之一:
Word compare(字比较) - 这种比较 tokenizes 根据空格分隔每个数据项,并确定
了改造的第一个项目进入第二所需的标记级别的编辑。当在单词层面存在被比较项
之间的有趣的差异,例如,在含有不同含量的 HTML 文档,是最有用的。
Byte compare(字节比较) - 这种比较确定改造的第一个项目进入第二所需的字节
级的编辑。当在字节水平存在比较项之间的有趣的差别,比如在包含在一个特定的
参数或 cookie 值稍有不同值的 HTTP 请求,这是最有用的。注意:该字节级的比较
是相当多的计算密集的,并且当一个字级别的比较失败,以确定在一个信息道的
相关的差异通常应该只使用这个选项。当您启动一个比较,会出现一个新窗口,显
示比较的结果。该窗口的标题栏显示的差异(即编辑)这两个项目之间的总数。在
两个主面板显示项目相比彩色化来表示每个修改,删除和改造的第一个项目进入
第二所需的加法。你可以在文本或十六进制形式查看每个项目。选择“sync
views(同步视图)”选项可以使您同时滚动两个小组等快速找出在大多数情况下有
趣的编辑。
Extender
3.选择查找.jar 后缀插件,点击确定之后下一步就是安装了
4.安装好了会提示安装成功,并且在如下图中显示
5.如果是 python 扩展的话需要先到 options 中配置好 python 环境并且安装 jython 环
境
下表显示了所有已安装的扩展名列表。您可以添加,删除和使用按钮的扩展表
重新排序的扩展。请注意:
该扩展名的显示顺序是,其中的任何注册的侦听器和其他推广资源将被调用的顺
序。
扩展可以卸载,但保留在表中,以便能够方便重装稍后 time.To 切换扩展的负载状
态,而不从列表中删除它,在“loaded”栏或扩展详细信息面板中单击该复选框。
注意:您可以快速重新按 Ctrl +单击“loaded”复选框的延伸。这将卸载并重新加
载该扩展名,而不显示确认对话框。
要运行用 Python 编写的扩展,你首先需要配置 Jython 的独立 JAR 的位置,在
Python 环境选项。
Extension details
选择在扩展表中的项目显示在下部面板的扩展信息。详细信息选项卡显示以下
信息:无论是扩展当前加载的。您可以点击复选框,加载或卸载选定的扩展。扩展
名。扩展可以通过编程设置其显示在用户界面中自己喜欢的名字。您可以手动编辑
如果需要此名称。扩展( Java 或 Python)的类型。从中加载该扩展名的文件。的方
法,听众,并在由扩展使用其他资源的详细信息。输出选项卡包含扩展的标准输出
流的细节,以及错误选项卡包含有关标准错误流相同的信息。为每个数据流,可以
配置应用程序的输出是否应该被定向到系统控制台,或者保存到文件中,或者在
UI 中显示出来。请注意:写法基于 UI 的输出窗口有大小限制,不适合用于重型记
录。扩展是负责指导他们的输出和错误消息,其中 burp 已经分配给他们正确的数
据流,并通过扩展 API 的编程可用。扩展不遵守这个可以直接直接输出到系统控制
台,无论在这里具体确定的设置。
Burp extender apis
Options
Settings
Java Environment
Python Environment
Suite Options
Burp 含有大量的影响的所有工具的行为套房范围的选项。
有如下选项:
Connections
platform authentication
Socks Proxy
Timeouts
设置指定要用于各种网络任务的超时。您可以指定以下超时:
Normal(正常) - 此设置适用于大多数网络通信,并确定长期 burp 怎么会放弃已经
发生了超时的请求,并记录之前等待。
Open-ended responses(开放式的回应) - 此设置仅用于需要响应不包含内容长度
或传输编码的 HTTP 标头被处理的。在这种情况下,burp 确定该传输已经完成之前,
等待指定的时间间隔。
Domin name resoolution(域名解析) - 此设置确定如何经常 burp 会重新执行成功
的域名查找窗口。这应该被设置为一个适当的低的值,如果目标主机地址被频繁地
改变。
Failed domain name resolution(失败的域名解析) - 此设置确定 burp 多久将重
新尝试不成功的域名查找窗口。
值以秒为单位。如果选项是空白的,然后 burp 永远不会超时的功能。
Hostname Resolution
每个主机名解析规则指定一个主机名,并应与该主机名关联的 IP 地址。规则可以
单独启用或禁用。
这个功能可能是有用的,以确保请求的正确前进转发时,hosts 文件已被修改为从
非代理感知厚客户端组件进行流量的不可见的代理。
Out-of-Scope Request
HTTP
Redirections
Streaming Responses
SSL
Cookie Jar
Macros
macro 是一个或多个请求一个预定义的顺序。您可以使用会话处理规则中的
Macro 来执行各种任务。典型用例的宏包括:获取该应用程序(如用户的主页)的
页面来检查当前会话仍然有效。进行登录,以获得新的有效的会话。获得令牌或随
机数作为另一个请求中的参数来使用。当 Scanner 或 fuzz(模糊测试)在一个多步骤
的过程的请求时,执行必要的前述要求,以获得应用到其中的目标请求将被接受
的状态。在一个多步骤的过程中,“attack”的请求时,在完成该过程的剩余步骤
以确定所执行的动作,或者获得的结果,或者从该过程结束时的错误消息后。以及
请求的基本序列,每个宏包含一些关于如何饼干和参数的序列中应处理的重要结
构和单件之间的任何相关性。
display
User interface
Character Sets
1)自动识别每个消息的字符集的基础上,邮件标题。这是默认选项,可让您同时在
使用不同字符集的邮件的工作。
2)对所有消息使用平台默认的字符集。
3)显示消息的原始字节(使用 ASCII 编码),而不处理任何扩展字符。
4)对所有消息使用一个特定的字符集。
HTML rendering
Misc
Hotkeys
设置允许您配置快捷键为常用操作。许多类型的动作可以被分配一个快捷键,
在以下类别:
1)特定于某个 HTTP 请求或响应的动作,例如“send to repeater(发送到转发
器)”。
2)全球行动,如“Switch to proxy(切换到代理服务器)”。
3)在编辑操作,如“剪切”和“撤消”。
一些热键的默认配置。需要注意的是如果你使用它们频繁,可以给它们分配一
个快捷键。
保存一些零时文件的地方,可以设置系统默认,也可以自定义路径。
Automatic backup
计划任务。仅限专业版使用,您可以使用任务调度程序自动启动和停止某些任
务在规定的时间和间隔时间。您可以使用任务计划程序来启动和停止某些自动化任
务了几个小时,而你没有工作,并定期或在特定时间保存您的工作。要使用此功能
请选择在 Burp 的任何地方一个 HTTP 请求,或任何部分目标站点地图,并在上下文
菜单中的“Engagement(参与工具)”中选择“Schedule task(计划任务)” 。或者
您也可以通过在计划任务面板中直接添加一个新的任务。创建一个新的任务将打开
一个向导,可以配置任务的详细信息。
任务计划有以下类型:
1)从 URL 扫描
2)暂停主动扫描
3)继续主动扫描
4)从 URL 蜘蛛
5)暂停蜘蛛
6)保存状态
根据任务的类型,您还可以配置一个 URL (如扫描)或文件(如保存状态) 。
每一个任务需要有配置了启动时间。或者,您可以配置任务重复在定义的时间间隔
0x02 Install
前提条件:1)越狱 2)IOS8 以上
1) 在手机终端输入:
root> wget ip:8080/mobileassistant.deb
root> opkg –i mobileassistant.deb
2) Cydia->编辑->添加输入 http://ip:8080
安装完可以看到 BurpSuite Pro 源点进去安装 MobileAssistant
0x03 Using
1) 输入 PC 监听 ip 和端口
2) 开启 Use Proxy
3) 安装证书 CA Certificate
4) 选择你想要抓包的 app Add injected app
5) 点击 Test Settings
Suite functions
[专业版]此功能可用于生成一个证明了概念验证(PoC )跨站点请求伪造
(CSRF )攻击对于一个给定的请求。要使用此功能,请选择在 Burp 的任何地方
URL 或 HTTP 请求,并选择上下文菜单中的“Engagement tools(参与工具)”中的
“Generate CSRF Poc(生成 CSRF 的一键通)”。
Burp 显示了在顶部面板中选择的完整的请求,并将生成的 HTML CSRF 在较低的
面板。在 HTML 使用的形式和/或 JavaScript 来生成在浏览器中所要求的请求。您可
以手动编辑的要求,并单击“regenerate(重新生成)”按钮,根据更新的要求来
重新生成 CSRF 的 HTML 。你可以测试生成的 PoC 的效果在浏览器中,使用“测试中
的浏览器”按钮。当您选择此选项,可以粘贴到浏览器(配置为使用 Burp 的当前
实例作为其代理)一个唯一的 URL 。由此产生的浏览器请求由服务 Burp 与当前显
示的 HTML,然后你可以决定的 PoC 是否是通过监测得到的请求( s)表示,通过
代理服务器进行了卓有成效的。
Message Editor
Content Discovery
此功能可用于发现内容并不会从您可以浏览或蜘蛛可见内容链接功能。
要使用此功能,请选择在 Burp 的任何地方一个 HTTP 请求,或任何部分目标站点地
图,并在上下文菜单中的“参与工具”中选择“查找内容”。
Burp 使用各种技术来发现内容,包括姓名猜测,网络蜘蛛,并且从命名的应
用程序中使用的观测约定外推。发现的内容被显示在一个特殊的网站地图是特定的
发现会话,并且还可以任选地加入到 suite site map。
Control
此选项卡显示您发现会话的当前状态。切换按钮指示是否会话正在运行,并允
许您暂停和重新启动会话。
下面的信息则显示该发现会话的进展:提出的要求数在服务器响应传输的字节
数网络错误数排队的发现任务数蜘蛛排队的请求数排队分析响应数排队的个人发
现任务都显示在表格中。发现引擎的工作原理递归,当一个新的目录或文件被发现
进一步的任务是源于此,这取决于配置。
Target
这些选项可让您定义了内容发现会话启动目录,以及是否文件或目录要有针对
性。下列选项可用:
Start directory(启动目录) - 这就是 Burp 就会开始寻找内容的位置。这条道路
及其子目录内只有项目将在会议期间提出要求。
Discover(发现) - 此选项确定会话是否将寻找文件或目录,或两者兼而有之。如
果你正在检查的目录,你可以选择是否以及如何深递归到子目录中发现的。
Filenames
控制如何发现会话添加文件扩展名,正在测试。该文件的本身是根据文件名选
择导出。当每个文件的在测试时,Burp 会检查各种不同的扩展名,根据这些设置。
下列选项可用:
1)Test these extensions(测试这些扩展)- 此选项可让您设定的扩展,Burp 会经
常检查清单。你可以微调的基础上已知在对目标应用程序中使用的技术,默认列表
Discovery Engine
该发现会话使用自己的站点地图,显示所有已发现的定义范围内的所有内容。
如果您已配置 Burp 的话,新发现的项目也将被添加到 Burp 的主要站点地图。
Alert
Burp Collaborator
安装和执行
封闭网络的基本设置
运行在非标准端口
DNS 配置
SSL 配置
交互作用的事件与轮训
度量
测试安装
配置文件格式
安装和执行
burp Collaborator 服务器被包括在相同的可执行文件作为打嗝套件本身。无许可证密
钥才能运行自己的服务器实例。服务器可以直接在命令行中使用--collaborator-server
的参数,例如启动:
sudo java -jar burp.jar --collaborator-server
服务器将无法启动,如果它不能绑定到它需要运行的服务的端口(默认情况下,
TCP 端口 80 和 443,以及 UDP 端口 53)。您需要停止正在使用这些端口的任何其
他进程。此外,在基于 Unix 的系统,你可能需要运行具有 root 权限的服务器上,
以绑定到这些端口;另外,您也可以将服务器配置为在非标准端口上运行,并使用
端口映射重定向的原始端口。
当启动 Collaborator 服务器,这是需要配置 JVM 的存储器的处理和垃圾收集的基础
上,预期的用法。如果您运行的是少数预计的用户台式机上的合作者服务器,则可
以减少内存由 JVM 使用量。下面的命令允许堆波动 10 MB 和 200 之间,并为 JVM
花费的垃圾收集,通常使用较少的内存在 5%的时间:
sudo java -Xms10m -Xmx200m -XX:GCTimeRatio=19 -jar burp.jar --
collaborator-server
如果你正在运行一个专用机器上的 Collaborator 服务器支持的用户数量较多,那么
它是有效的堆的大小固定到可用物理内存的数量,通常留下 1GB 可用的操作系统,
JVM 和任何其他正在运行的进程。例如:
sudo java -Xmx3g -Xms3g -jar burp.jar --collaborator-server
如果服务器有望被大量使用并且具有比物理内存 4GB 以上,建议切换到 G1 垃圾收
集器,其中显著降低可垃圾收集期间发生了 JVM 暂停。 例如:
sudo java -Xmx12g -Xms12g -XX:+UseG1GC -jar burp.jar --collaborator-
server
为了充分利用 Collaborator 服务器的能力,你通常还需要创建一个合适的配置文件。
封闭网络的基本设置
一个常见的用例的私人 Collaborator 服务器是支持一个单一的测试(或小团
队)的私人封闭的网络上工作。如果您正在测试,没有互联网接入的封闭网络上的
应用程序,那么当然不能用默认的公共 Collaborator 服务器。
在这种情况下,您可以启动使用安装和执行一个基本的 Collaborator 服务器命令实
例,而无需任何配置文件。然后,您只需要配置 burp 使用你的机器的 IP 地址作为
其 Collaborator 服务器。
在这种设置中,Collaborator 将不支持自定义 DNS 解析或有效可信的 HTTPS 连接。
但是,你仍然可以使用基本的 Collaborator 功能检测,如外部 HTTP 交互的问题。
运行在非标准端口
如果你想运行的 Collaborator 服务器作为非 root 用户,你需要将其配置为在非标准
端口上运行。您还需要配置操作系统的原始端口映射到你使用的是自定义端口。通
常情况下,你需要传入 TCP 和 UDP 连接配置映射,也传出 UDP 响应。
"serverDomain" : "burpcollaborator.example.com",
"eventCapture": {
"http": {
"port" : 8080
},
"https": {
"port" : 8443
},
"dns": {
"port" : 8053
DNS 配置
Burp Collaborator 默认运行在特定域的 DNS 服务,并利用这一点,你需要一个
专门的域或子域的 Collaborator 使用。可以省略 DNS 能力,只能通过 IP 地址访问
Collaborator 服务器;然而,这样的配置是在检测各种漏洞不太有效。
如果您在公共互联网上运行的 burp Collaborator,你可以购买一个专用的域(例如
example.com),或使用你已经拥有一个域的子域和使用(例如
burpcollaborator.example.com)。如果您的安装将被限制到内部网络,你可以选择任
何专用内部域。
Collaborator 服务器需要知道它控制域,以便它可以起到相应的 DNS 记录。这是在
Collaborator 配置文件中配置。 例如:
"serverDomain": "burpcollaborator.example.com"
SSL 配置
Burp Collaborator 运行的 HTTPS 服务,为捕获由测试系统启动 HTTPS 的相互作用,
并通过服务 burpsuite 作出轮询请求。通常,如果 Collaborator 已经配置了正在使用
的域名有效的通配符 SSL 证书合作者服务器的 HTTPS 连接才会成功。 SSL 证书可
以使用合作者配置文件来配置。
如果您没有为您的域名配置有效通配符 SSL 证书,然后 burp Collaborator 可以创建
自签名证书。例如,下面的配置将为*.burpcollaborator.example.com 自签名的通配符
证书:
"https": {
"hostname" : "burpcollaborator.example.com"
}
如果你能安装证书在目标服务器上为受信任证书,或者如果目标应用程序没有验
证 SSL 证书使用自签名证书就足够了。
如果您已经购买了您的域中的配置有效通配符 SSL 证书,你可以从你的证书颁发
机构(CA)获得证书,并在你的 Collaborator 服务器上安装它。在这个例子中,我
们使用 OpenSSL 生成证书签名请求(CSR)和 CA 提供的证书和中间证书。
与 OpenSSL 的,对于按键的默认格式是传统的 SSLeay 格式。这些都需要转换为
PKCS8 前合作者服务器可以导入。 OpenSSL 命令做到这一点的转换是:
openssl pkcs8 -topk8 -inform PEM –in
keys/burpcollaborator.example.com.key -outform PEM -out
keys/burpcollaborator.example.com.key.pkcs8 –nocrypt
SSL 证书可以使用 Collaborator 配置文件来配置。下面的示例配置文件演示了如何
加载私钥,证书和中级证书:
"https": {
"certificateFiles" : [
"keys/burpcollaborator.example.com.key.pkcs8",
"keys/burpcollaborator.example.com.crt",
"keys/intermediate.crt"]
"https": {
"keystorePath" : "myKeystore.jks"
"polling" : {
"publicAddress" : "10.20.0.159"
},
"metrics": {
"path" : "jnaicmez8",
"addressWhitelist" : ["21.10.23.0/24"]
},
"localAddress" : "10.20.0.159"
一个完整的示例配置文件,每个可用选项的说明,如下图所示:
{
"serverDomain" : "burpcollaborator.example.com",
"workerThreads" : 10,
"eventCapture": {
"publicAddress" : "10.20.0.159",
"http": {
"port" : 80
},
"https": {
"port" : 443,
"certificateFiles" : [
"keys/burpcollaborator.example.com.key.pkcs8",
"keys/burpcollaborator.example.com.crt",
"keys/intermediate.crt" ]
},
"polling" : {
"localAddress" : "127.0.0.1",
"publicAddress" : "10.20.0.159",
"http": {
"port" : 9090
},
"https": {
"port" : 9443,
"hostname" : "collaboratorpolling.example.com"
},
"metrics": {
"path" : "jnaicmez8",
"addressWhitelist" : ["21.10.23.0/24"]
},
"dns": {
"interfaces" : [{
"name":"ns1",
"localAddress":"34.23.11.6",
"publicAddress":"98.87.76.55"
},{
"name":"ns2",
"localAddress":"34.23.11.6",
"publicAddress":"98.87.11.00"
}],
"port" : 53
各参数描述:
serverDomain Domain 或者 subdomain Collaborator 服务器控制的
DNS。此设置需要 DNS 功能
workerThreads 由 Collaborator 使用的线程数
eventCapture.localAddress 默认情况下,Collaborator 监听本地所有的请求,可以通
过次配置进行优化自定义 ip
eventCapture.publicAddress 用于捕获的交互事件的公共 IP 地址
eventCapture.http.port 该端口监听 HTTP 交互事件。如果 80 端口被转发这应
该只从默认的改变
eventCapture.https.port 该端口监听 HTTPS 交互事件。如果 443 端口被转发这
应该只从默认的改变
eventCapture.https.hostname 用于生成自签名证书。详细信息请参见 SSL 配置
polling.localAddress 默认情况下,collaborator 将使用用于捕获交互事
件和服务轮询请求相同的网络接口。如果指定,它将
使用轮询请求的一个不同的接口。
polling.publicAddress 公共地址用于服务轮询请求
polling.http.port 要用于轮询通过 HTTP 的端口。这可以是非标准和
burpsutie 将需要被配置为使用它。
polling.https.port 用于查询通过 HTTPS 端口。这可以是非标准和
burpsuite 将需要被配置为使用它。
polling.https.hostname 用于生成自签名证书。详细信息请参见 SSL 配置。
metrics.path URL 路径下在度量页面可被访问。
metrics.whitelist 客户端允许 IP 地址白名单访问。
dns.port dns.port 端口听 DNS 查询。如果 53 端口被转发这应该
只从默认的改变。
dns.interfaces 监听 DNS 查询的本地接口的地址列表。如果您的注册
商需要为每个权威域名服务器配置一个不同的 IP 地
址,你可以使用多种网络接口,使用该选项配置他们
的位置。
dns.interfaces.name 主机名用于此接口上运行的名称服务器。不同的主机
名应被用于每个名字服务器(例如 NS1,NS2,等
等)。
dns.interfaces.localAddress 本地地址绑定到该 nameserver 服务器。
dns.interfaces.publicAddress 对应配置的本地地址的公网 IP 地址。通常情况下,你
需要使用配置的主机名和公网 IP 地址在您的 DNS 记
录为您的域名。
Burp Sqlmap 插件
0x02 安装
0x03 使用
Notes
0x01 介绍
在 Notes 选项卡中,您可以:
- 储存注意事项:储存任何目前开启的文件到一个文件中。
- 负载注:从文件加载以前保存的一套纸币。
- 新文本:添加一个标签一个新的文本文档。
- 导入文本:加载一个文本文件的内容。
- 新的电子表格:添加一个标签一个新的电子表格。
- 导入电子表格:加载一个 CSV 文件的内容。
- 您还可以导出单个音符的标签到外部文件。
界面如下:
0x02 安装
0x03 使用
JSBeautifier
0x01 介绍
大多数的网站压缩其资源,如 JS 文件,以便增加装载速度。然而,安全性测试
和调试一个压缩的资源是不容易的事。这是一个 Burp 开源扩展,这使得它可以美
化大部分资源。因此,这将有助于 Web 应用程序安全研究人员查看压缩资源更容易。
它还可以帮助他们有足够的资源内的浏览器解压缩后的版本(如
JS,CSS,HTML,XML,等等)。
0x02 安装
0x03 使用
Bradamsa
0x01 介绍
0x02 安装
下载地址:
exe 版 https://code.google.com/p/ouspg/downloads/list 请下载响应系统的版本,
python 版 https://github.com/Raz0r/burp-radamsa
Burp Bradamsa 扩展 https://github.com/ikkisoft/bradamsa/releases
1.首先 Burp 要加载 Bradamsa 扩展
Extensions->Extensions->Add 去选择你的 Bradamsa.jar 包
2.加载运行文件,exe 或者 python 都行
0x03 使用
XssValidator
0x01 安装
下载地址:https://github.com/nVisium/xssValidator ,同样的先加载
xssValidator.jar 插件 https://www.dropbox.com/s/fkuxovnhckj3908/xssValidator.jar
安装 phantomjs 并且配置好环境变量,cmd 运行 phantomjs slimer.js
0x02 使用
tips
0x01 安卓虚拟机工具
0x03 配置代理
1、Burp 代理设置如下
2、安卓模拟器设置,Menu>System setting>More>Mobile networks>Access Point
Names>
选择默认的 APN 或者新建一个并且设置为默认代理
3、保存好了之后打开浏览器输入地址
最后附上刚下载的一个百度知道应用程序,也是可以抓包的
具体详情参考:http://resources.infosecinstitute.com/android-application-penetration-
testing-setting-certificate-installation-goatdroid-installation/
0x01 准备条件
1)手机设置:
打开手机-->设置->WLAN-->选择你的 wifi 进入编辑,在代理这里设置为手动,设
置如下
主机名:192.168.1.5 //也就是我物理机的 ip
端口:8088
保存即可。
2)Burp Suite 设置
0x03 导入证书到手机中
导入证书到手机中其实也很简单,就是把电脑上已经安装好的证书导出来到内存
卡中,然后从内存卡中安装证书
然后命令为 PortSwigger CA 导出到桌面,复制到内存卡中步骤如下:
打开手机-->设置-->安全和隐私-->凭据存储-->从存储设备安装,选择你刚才证书存
放的路径,安装即可。
如果安装好了,就可以在安全和隐私-->凭据存储-->受信任的凭据-->用户下即可查
看到
Attack type
以下针对攻击类型场景进行详细分析,字典文件统一(a,b,c)
Sniper
Battering ram
a
b
适用场景:账号密码都是同一个值
Pitchfork
以一对一方式枚举,多个$Position$值分别加载不同的字典文件同时进行枚举,
如字典 1(a,b,c)、字典 2(1,2,3)
Payload1 Payload2
a 1
b 2
c 3
使用场景:一对一账号密码
Cluster bomb
Payload type
Simple list
Custom iterator
爆破中文字典导入
正常手动输入“张”:
爆破 web 基础认证
5)
爆破指定数字长度
效果如下图:
0x02 采用 Brute forcer 方式
设置如下:
0x03 采用 Numbers 方式
此方法不太稳定,可能有时候不会出现想要的结果
0x04 加载字典方式
自己生产从 0001-9999,然后导入到字典中
(0-9,a-z)||(字典长度)情况
更具提供的用户名然后进行拆分
日期型爆破
年月日都可以自己定义,有几种可选,如下
编码 frobber
说白了就是第二个值会替换前一个值
Copy other payload
0x01 查找符合结果的数据
0x02 筛选出符合的数据
0x03 导出结果
批量 md5 解密
0x01 准备
在密文处其实可以随便写什么,但是为了便于我们后面能够直接看出解密出的
值我们还是写一个正常的。
0x02 设置 intruder
通过抓包到的数据我们可以看出我们填写的密文在哪
选择字典
再调节一下线程,最好是调低一点,太高了可能会解密失败,而且设置解密失
败重试 2 次最好了
匹配解密出的结果
0x03 开始解密
点击 start attack
解密效果,后面导出就不用讲了,看过前面的应该就知道怎么导出想要的
结果。
options>Grep-Extract>add
3)payloads 设置如下
这里 payload type 设置递归(Recursive grep),在 Initial payload for first request 设置一
个有效的 csrf_token 值作为第一项
0x02 Active Scan with sqlmap
演示地址:http://guojigongguan.cn/2014/baobao/babyshow.shtml?BabyID=59
本例投一次票会请求 2 次,第一次是一个点击状态请求 post,第二次才是投票
第二次 post 页面只需要把 cookie 删除
Cookie: GUID=6966a72e-a577-4050-801f-0ddd43a2beb5
Intruder 设置
这里有安全狗,所以线程调低点,然后开始 start attack
0x01 安装
需要下载 Stand Alone Version of Jython 从 http://www.jython.org/downloads.html
执行如下命令:java -jar <File>.jar
Example: java -jar jython_installer-2.5.2.jar
Burpsuite+firefox+tor
0x01 firefox 配置
火狐设置代理 127.0.0.1:8080
0x02 BurpSuite 配置
编辑配置文件/etc/tor/torrc,osx 下是在/usr/local/etc/tor/torrc:
SocksPort 9050
SocksListenAddress 127.0.0.1
DNSPort 53
AutomapHostsOnResolve 1
AutomapHostsSuffixes .exit,.onion
重启 tor 即可配置完成
Burpsuite+firefox+torbrowser+shadowsock
0x01 firefox 配置
0x03 Burpsuite 配置
0x01 配置 burpsuite 环境
b) Command+S 保存
0x02 配置 logo
加载自己的字典
Intruder 提取
在遍历数据的时候经常会碰到需要提取响应页面中的数据,如果想要获取的数
据中有英文和中文的时候会很尴尬。
example:
"LoginId":"xl7dev 小乐天","NickName":"小乐天"
"LoginId":"xl7dev","NickName":"小乐天"
由于响应数据的不确定因素,中文在加载字典的时候是乱码,所以我们只是想提
取 LoginId 字段是英文的用于做下一步的利用,那么可以使用正
则:"LoginId"\:"([a-zA-Z0-9_]+)"\,"NickName"
最终提取的都是英文的数据。
漏洞挖掘
未授权访问
0x01 AuthMatrix
安装:Extender>>BApp Store>>AuthMatrix
介绍:https://github.com/SecurityInnovation/AuthMatrix
0x02 AuthZ
安装:Extender>>BApp Store>>AuthMatrix
介绍:https://github.com/wuntee/BurpAuthzPlugin
0x03 Autorize
安装:Extender>>BApp Store>>AuthMatrix
介绍:https://github.com/Quitten/Autorize
AMF message
0x01 Blazer
安装:Extender>>BApp Store>>Blazer
介绍:https://github.com/ikkisoft/blazer
CSRF
0x01 假设场景如下:
本机 ip:192.168.1.10
网关 ip: 192.168.1.1
当前网卡 en0
抓取同网段的所有 ip
0x02 配置 ettercap
0x03 配置 dnsspoof
>dnsspoof -i en0
监听 127.0.0.1:8080
监听 192.168.1.10:80, 同时勾选 Support invisible proxying
监听 192.168.1.10:443, 同时勾选 Support invisible proxying
SQL 注入
0x01 下载安装
0x03 使用
这样我们就可以很直观的查看到扫描的 Payload
目录扫描
0x01 介绍
只要字典强大,在扫目录完胜御剑,而且速度快。
0x02 利用 Intruder
首先访问我们想要爆破的地址,比如 http://www.baidu.com,抓包发送到
intruder
如:
在 Payload>Payload Option 中加入我们的字典
并且在下面把头请求编码勾选去掉
0x03 结果
在爆破页面中可以通过过滤来让我们更直观的去发现那些页面请求成功了
1. Burp 不能运行
请确保您安装了 Java 环境,然后通过命令运行,可以查看控制端错误输出。
2. NoClassDefFoundError 错误
当通过命令行运行 burp,确保 burp 的 JAR 文件的位置是否在当前位置。如果你
还有问题,请检查您的命令启动 Java 的正确版本。运行命令 Java 的版本,并确认正
在执行的版本是 1.6 或更高版本。如果您已经安装了 Java 的后续版本,但是仍然执
行的是旧版本,然后用你的系统上正确的 Java 可执行文件的绝对路径替换的
“java”。如果你仍然有问题,您的 Java 安装可能会被损坏,所以重新安装。
3. 打开 jar 文件是解压缩包
可能是因为你默认打开 JAR 文件是压缩工具打开,修改打开默认方式。
4. Burp 抓不到包
Burp 监听的默认端口被占用,修改默认监听端口;
同一局域网代理抓包不到,1)修改 dns 为同一 dns,2)关闭电脑防火墙;
检查是否开启 Upstream Proxy Servers,如果没有相对应的 socket 开启请关
闭;
恢复默认设置 Burp>>Restore defaults,退出重新启动;
证书未安装或安装错误,请查看 Proxy 设置
当用手机抓包时错误提示“The Client failed to negotiate an SSL connection
to example.com:443: Received fatal alert: certifice_unknown”,说明可能安装证
书的时候没有以开发者模式安装。检查一下手机是否处于开发者模式。
5.内存不足
有的时候插件安装多了的时候会提示 memory 错误信息,可以使用如下命令增
加内存启动:java –jar –Xmx2048m /path/to/burp.jar