burpsuite系列

时间:2022-07-23
本文章向大家介绍burpsuite系列,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一、概述

Burp Suite 是用于攻击web 应用程序的集成平台,包含了许多工具。BurpSuite为这些工具设计了许多接口,以加快攻击应用程序的过程。

二、工具栏功能简介

1. Dashboard(仪表盘)

主要分为三块:Tasks(任务)、Event log(事件日志)、issue activity(动态发现的问题)

2. Target(目标)

显示目标结构 1)Site Map

SiteMap会在目标中以树形和表形式显示,并且还可以查看完整的请求和响应。树视图包含内容的分层表示,随着细分为地址,目录,文件和参数化请求的URL 。您还可以扩大有趣的分支才能看到进一步的细节。如果您选择树的一个或多个部分,在所有子分支所选择的项目和项目都显示在表视图。 2)Scope

这个主要是配合Site map做一些过滤的功能 3)issue definition

问题定义,展示burp这个工具的功能

3. Proxy(代理)

是一个拦截HTTP/S的代理服务器,作为一个在浏览器和目标应用程序之间的中间人,允许你拦截,查看,修改在两个方向上的原始数据流。** 
1)intercept(拦截)
用于显示和修改HTTP请求和响应,通过你的浏览器和Web服务器之间。在BurpProxy的选项中,您可以配置拦截规则来确定请求是什么和响应被拦截

Forward:当你编辑信息之后,发送信息到服务器或浏览器 Drop:当你不想要发送这次信息可以点击drop放弃这个拦截信息 Interceptionis on/off:这个按钮用来切换和关闭所有拦截。如果按钮显示Interceptionis On,表示请求和响应将被拦截或自动转发根据配置的拦截规则配置代理选项。如果按钮显示Interception is off则显示拦截之后的所有信息将自动转发。 Action:说明一个菜单可用的动作行为操作可以有哪些操作功能

Send to Spider 发送给爬虫 Do an active scan 执行主动扫描 Send to Intruder 发送到入侵者 Send to Repeater 发送到中继器 Send to Sequencer 发送到序列发生器 Send to Comparer 发送到比较器 Send to Decoder 发送到解码器 Request in browser 在浏览器的请求 Engagement tools 参与工具 Change request method 对所有的请求,经过把所有相关的请求参数适当地搬迁到这个请求里来,你就可以自动地把请求的方法在 POST 和 GET 中间切换。通过发送恶意的请求使用这个选项来快速测试应用程序的极限参数是多少。 Change body encoding 对于所有的请求,你可以在应用程序/X-WWW 格式的 URL 编码和多重表单/数据之间切换消息体的编码方式。 Copy URL 把当前的 URL 完整地复制到粘贴板上。 Cope as curl command 作为curl命令。 Cope to file 这个功能允许你把选择一个文件,并把消息的内容复制到这个文件里。这个对二进制数据来说是很方便的,要是通过粘贴板来复制会带来一些问题。复制操作是在选择的文本上进行的,如果没有被选中的内容,则是针对整个消息了。 Pase form file 这个功能允许你选择一个文件,并把文件里的内容粘贴到消息里。这个对二进制数据来说是很方便的,要是通过粘贴板来复制会带来一些问题。粘贴操作会替换掉被选中的内容,如果没有内容被选中,则在光标位置插入这些内容。 Save item 这个功能让你指定一个文件,把选中的请求和响应以XML的格式保存到这个文件,这里面包括所有的元数据如:响应的长度,HTTP 的状态码以及 MIME 类型。 Don’t intercept requests 通过这些命令可以快速地添加拦截动作的规则来阻止拦截到的消息,这些消息和当前的消息有着相同的特征(如远程主机,资源类型,响应编码)。 Do intercept 仅对请求有效,这允许你可以对当请求和响应的进行强制拦截。 Convert seiection 这些功能让你能够以多种方案对选择的文本进行快速的编码和解码。 URL-encode as you type 如果这个选项被打开,你输入的像&和=这样的符号会被等价的 URL编码代替。 Cut 剪切 Copy 复制 Paste 粘贴 Message edit help 消息编辑帮助 Proxy interception help 代理拦截帮助

2)HTTP History(历史)

  显示所有请求产生的细节,显示的有目标服务器和端口,HTTP 方法,URL,以及请求中是否包含参数或被人工修改,HTTP 的响应状态码,响应字节大小,响应的 MIME类型,请求资源的文件类型,HTML 页面的标题,是否使用 SSL,远程 IP 地址,服务器设置的 cookies,请求的时间

3)WebSockets history

这个选项主要用于记录WebSockets的数据包,是HTML5中最强大的通信功能,定义了一个全双工的通信信道,只需Web上的一个 Socket即可进行通信,能减少不必要的网络流量并降低网络延迟

4)Options

该选项主要用于设置代理监听、请求和响应,拦截反应,匹配和替换,ssl等,其中有八大选项:Proxy Listeners、Intercept Client Requests、Intercept Server Responses、Intercept WebSockets Messages、Response Modification、Match and replace、SSL Pass Through、Miscellaneous

Proxy Listeners:代理监听 Intercept Client Requests:配置请求拦截规则 Intercept Server Responses:配置拦截响应龟则 Intercept WebSockets Messages:拦截套接字信息 Response Modification:响应修改 Match and replace:匹配和响应 SSL Pass Through:SSL通过 Miscellaneous:其它

Spider(爬虫)

Burp Spider 是一个映射 web 应用程序的工具。它使用多种智能技术对一个应用程序的内容和功能进行全面的清查。 Burp Spider 通过跟踪 HTML 和 JavaScript 以及提交的表单中的超链接来映射目标应用程序,它还使用了一些其他的线索,如目录列表,资源类型的注释,以及 robots.txt 文件。结果会在站点地图中以树和表的形式显示出来,提供了一个清楚并非常详细的目标应用程序视图。

在sitemap中选中目标host右键选中 spider this host 开始爬虫

1)Control(控制)

2)Options(设置)

Crawler Settings(抓取设置)

check robots.txt:检测robot.txt文件。选择后Burp Spider会要求和处理robots.txt文件,提取内容链接。

● Detect custom “not found” responese:检测自定义的’not found’响应。打开后Burp Spider会从每个域请求不存在的资源,编制指纹与诊断“not found”响应其它请求检测自定义“not found”的响应。

● ignore links to non-text content:忽略非文本内容的连接。这个选项被选中,Spider 不会请求非文本资源。使用这个选项,会减少 spidering 时间。

● request the root of all directories:请求所有的根目录。如果这个选项被选中,Burp Spider 会请求所有已确认的目标范围内的 web 目录,如果在这个目标站点存在目录遍历, 这选项将是非常的有用。

● make a non-parameterized request to each dynamic page:对每个动态页面进行非参数化的请求。如果这个选项被选中,Burp Spider 会对在范围内的所有执行动作的 URL 进行无参数的 GET 请求。如果期待的参数没有被接收, 动态页面会有不同的响应,这个选项就能成功地探测出额外的站点内容和功能。

● Maximum link depth:这是Burp Suite在种子 URL 里的浏览”hops”的最大数。0表示让Burp Suite只请求种子 URL。如果指定的数值非常大,将会对范围内的链接进行无限期的有效跟踪。将此选项设置为一个合理的数字可以帮助防止循环Spider在某些种类的动态生成的内容。

● Maximum parameterized requests per URL:请求该蜘蛛用不同的参数相同的基本URL的最大数目。将此选项设置为一个合理的数字可以帮助避免爬行“无限”的内容。

Passive Spidering(被动扫描)

Passively spider as you browse:如果这个选项被选中,Burp Suite 会被动地处理所有通过 Burp Proxy 的 HTTP 请求,来确认访问页面上的链接和表格。使用这个选项能让 Burp Spider 建立一个包含应用程序内容的详细画面,甚至此时你仅仅使用浏览器浏览了内容的一个子集,因为所有被访问内容链接到内容都会自动地添加到 Suite 的站点地图上。

● link depth to associate with proxy requests:这个选项控制着与通过 Burp Proxy 访问的 web 页面 有关的” link depth”。为了防止 Burp Spider 跟踪这个页面里的所有链接,要设置一个比上面 选项卡里的” maximum link depth”值还高的一个值。

Form Submission(表单提交)

● individuate forms:个性化的形式。这个选项是配置个性化的标准(执行 URL,方法,区域,值)。当 Burp Spider 处理这些表格时,它会检查这些标准以确认表格是否是新的。旧的表格不会加入到提交序列。

● Don’t submit:开启后蜘蛛不会提交任何表单。

● prompt for guidance:提醒向导。如果被选中,在你提交每一个确认的表单前,Burp Suite 都会为你指示引导。这允许你根据需要在输入域中填写自定义的数据,以及选项提交到服务器的哪一个区域。

● automatically submit:自动提交。如果选中,Burp Spider 通过使用定义的规则来填写输入域的文本值来自动地提交范围内的表单。每一条规则让你指定一个简单的文本或者正则表达式来匹配表单字段名,并提交那些表单名匹配的字段值。 ● set unmatched fields to:设置不匹配的字段。

application login(表单提交)

● don’t submit login forms:不提交登录表单。开启后burp不会提交登录表单。 ● prompt for guidance:提示向导。Burp能交互地为你提示引导。默认设置项。 ● handle as ordinary forms:以一般形式处理。Burp 通过你配置的信息和自动填充规则,用处理其他表单的方式来处理登陆表单。 ● automatically submit these credentials:自动提交自定义的数据。开启后burp遇到登录表单会按照设定的值进行提交。

Spider Engine(爬虫引擎)

● Number of threads - 设置请求线程。控制并发请求数。 ● Number of retries on network failure - 如果出现连接错误或其他网络问题,Burp会放弃和移动之前重试的请求指定的次数。测试时间歇性网络故障是常见的,所以最好是在发生故障时重试该请求了好几次。

● Pause before retry - 当重试失败的请求,Burp会等待指定的时间(以毫秒为单位)以下,然后重试失败。如果服务器宕机,繁忙,或间歇性的问题发生,最好是等待很短的时间,然后重试。

● Throttle between requests:在每次请求之前等待一个指定的延迟(以毫秒为单位)。此选项很有用,以避免超载应用程序,或者是更隐蔽。

● Add random variations to throttle:添加随机的变化到请求中。增加隐蔽性。

Request Headers(请求头设置)

您可以配置头蜘蛛在请求中使用的自定义列表。这可能是有用的,以满足各个应用程序的特定要求 - 例如,测试设计用于移动设备的应用程序时,以模拟预期的用户代理。

● Use HTTP version 1.1 :在蜘蛛请求中使用HTTP/1.1,不选中则使用HTTP/1.0. ● Use Referer header:当从一个页面访问另一个页面是加入Referer头,这将更加相似与浏览器访问。

4. Intruder(入侵)

可配置的工具,对web应用程序进行自动化攻击。此功能有多种用途,如漏洞利用、Web应用程序模糊测试、进行暴力破解等。

1)Target(目标) 包含目标主机的信息

2)Positions(位置)

可以在这个模块中修改参数,选择攻击类型先使用Clear清空参数,然后使用Add添加参数 

Attack type 攻击类型: Sniper:一个字典,两个参数,先匹配第一个参数,再匹配第二个参数 Battering ram:一个字典,两个参数,一个字典同时匹配两个参数,同用户名同密码 Pitchfork:两个字典,两个参数,两个字典分别匹配两个参数,到短的截至 Cluster bomb:两个字典,两个参数,交叉匹配(使用第一个字典的第一项匹配第一个

参数,然后遍历第二个字典),所有可能

3)Payloads(载荷)

在这添加载荷,可以添加自定义的字典,也可以使用字典文件进行爆破 

4)Options(选项)

	在这修改Intruder的各种设置 

5. Repeater(重放)

手动操作来触发单独的HTTP请求,并进行应用程序响应的工具。此功能用于根据不同的情况修改和发送相同的请求并分析,通过调整Request的参数,不断尝试,通过Response查看状态。从而节省在浏览器中操作的时间。 

(1):Burp Repeater是一个手动修改、补发个别HTTP请求,并分析它们的响应的工具。它最大的用途就是能和其他Burp Suit工具结合起来使用。可以将目标站点地图、Burp Proxy浏览记录、Burp Instruder的攻击结果,发送到Repater上,并手动调整这个请求来对漏洞的探测或攻击进行微调。 (2):在渗透测试过程中,我们经常使用Repeater进行请求与响应的消息验证分析,修改请求参数、验证输入的漏洞;修改请求参数、验证逻辑越权;从拦截历史记录中捕获特征性的请求消息进行重放。 (3):在Repeater的操作界面中,左边的Request为请求消息区,右边的Request为应答消息区,请求消息区显示的是客户端发送的请求消息的详细信息。当编辑完请求消息后,单击"GO"按钮即可发送请求给服务器。 (4):应答消息区显示的是对对应的请求消息单击"GO"按钮后,服务器端的反馈消息,通过修改请求消息的参数来比对分析每次应答消息之间的差异,能更好的帮助我们分析系统可能存在的漏洞。

6. Sequencer(序列器)

Sequencer是一个用来分析那些不可预知的应用程序会话令牌和重要数据项的随机性的工具 (1):Burp Sequencer是一种用于分析数据样本随机性质量的工具。可以用它测试程序的会话令牌(Session token)、密码重置令牌是否可预测等场景,通过Sequencer的数据样本分析,能够很好的降低这些关键数据被伪造的风险。 (2):Burp Sequencer主要由信息截取(Live Capture)、手动加载(Manual Load)和选项分析(Analysis Options)三个模块组成。 (3):在获取信息后,单击Load按钮加载信息,然后单击"Analyze now"按钮进行分析。 1)Live capture 信息截取

2)Manual load 手动加载

3)Analysis options 选项分析

7. Decoder(解码器)

解码器是一个进行手动执行或对应用程序数据者智能解码编码的工具。此功能可用于解码数据找回原来的数据形式,或者进行编码和数据加密**

(1):Decoder的功能比较简单,它是Burp中自带的编码解码及散列转换工具,能对原始数据进行各种编码格式和散列的转换。 (2):Decoder的输入域显示的是需要编码/解码的原始数据,此处可以直接填写或粘贴,也可以通过右键"Send to Decoder"选项发送过来;无论是输入域还是输出域都支持文本和Hex这两种格式,编码解码选项由解码选项(Decode as)、编码选项(Encode as)、散列(Hash)构成。 (3):对编码选项来说,目前支持URL、HTML、Base64、ASCII、十六进制、八进制、二进制和GZIP共八种形式的格式转换,Hash散列支持SHA、SHA-224、SHA-256、SHA-384、SHA-512、MD2、MD5格式的转换,并且可以在Decoder界面进行多次编码解码的转换。

8. Comparer(对比)

通常是通过一些相关的请求和响应得到两项数据的一个可视化“差异”。此功能主要用于执行任意两个请求,响应或任何其他形式的数据之间的比较**

(1):Burp Comparer在Burp中主要提供一个可视化的差异比对功能,来对比分析两次数据之间的区别,使用的场合有: 枚举用户名的过程,对比分析登录和失败时,服务器端返回结果的区别 使用Intruder进行攻击时,对于不同的服务器端响应,可以很快分析出两次响应的区别在哪里 进行SQL注入的盲注测试时,比较两次响应的差异,判断响应结果与注入条件的关联关系。 (2):使用Comparer时有两个步骤:第一步是加载数据,第二步是差异分析。 (3):Comparer数据加载的常用方式如下: 从其他Burp工具通过上下文菜单转发过来 直接粘贴 从文件里加载

9. Extender(扩展)

可以让你加载Burp Suit的扩展,使用你自己的或第三方代码来扩展Burp Suit的功能**

10. Project options(项目选项)

对项目参数的一些设置**

11. Options(用户选项)

对Burp Suit的一些设置