Burp Suite之爬网模块(二)
Spider功能
Burp Spider爬网介绍
Burp Spider 是一个映射 web 应用程序的工具。它使用多种智能技术对一个应用程序的内容和功能进行全面的清查。 通过跟踪 HTML 和 JavaScript 以及提交的表单中的超链接来映射目标应用程序,它还使用了一些其他的线索,如目录列表,资源类型的注释,以及 robots.txt 文件。 结果会在站点地图中以树和表的形式显示出来,提供了一个清楚并非常详细的目标应用程序 视图。能使你清楚地了解到一个 web 应用程序是怎样工作的,让你避免进行大量 的手动任务而浪费时间,在跟踪链接,提交表单,精简 HTNL 源代码。可以快速地确人应 用程序的潜在的脆弱功能,还允许你指定特定的漏洞,如 SQL 注入,路径遍历。
爬网模块配置详解
Control tab
这个选项是用来开始和停止 Burp Spider,监视它的进度,以及定义 spidering 的范围。
Spider Status
1.Spider running
这个是用来开始和停止 Spider。Spider 停止后,它自己不会产生请求,但它会 继续处理通过 Burp Proxy 的响应,并且在 spidering 范围内的新发现的项都会送入请求队列 里,当 Spider 重新启动时,再来请求。这里显示的一些 Spider 进度的指标,让你能看到剩余的内容和工作量的大小。
2.Clear queues
如果你想改变你工作的优先权,你可以完全地清除当前队列的项目,来让其他 的项目加入队列。注意如果被清除的项目如果还在范围内并且 Spider 的分析器发现有新的 链接到这个项目,那么它们还会加入队列。
Spider Scope
在这个面板里,你能精确地定义 Spider 的请求范围。最好的方法通常是使用一套广泛的目标范围,默认情况下,蜘蛛会使用该范围。如果您需要定义不同范围的蜘蛛使用,然后选择“Use custom scope(使用自定义范围)”。进一步的配置面板会出现在相同的方式套件范围的目标范围内面板的功能。如果你使用自定义范围并向 Spider 发送不在范围内 的项,则 Burp 会自动更新这个自定义的范围而不是 Suite 范围。
Options tab
这个选项里包含了许多控制 Burp Spider 动作的选项,如下描述。这些设置在 spider 启 动后还可以修改的,并且这修改对先前的结果也是有效的。例如,如果增加了最大链接深度, 在以前的最大链接深度外的链接如果满足现在的条件,也会加入到请求队列里。
Crawler Settings (爬网设置)
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.passively spider as you browse
如果这个选项被选中,Burp Suite 会被动地处理所有通过 Burp Proxy 的 HTTP 请求,来确认访问页面上的链接和表格。使用这个选项能让 Burp Spider 建立一个包含应用程序内容的详细画面,甚至此时你仅仅使用浏览器浏览了内容的一个子集,因为所有被访问内容链接到内容都会自动地添加到 Suite 的站点地图上。
2.link depth to associate with proxy requests
这个选项控制着与通过 Burp Proxy 访问的 web 页面 有关的” link depth”。为了防止 Burp Spider 跟踪这个页面里的所有链接,要设置一个比上面 选项卡里的” maximum link depth”值还高的一个值。
Form Submission
1.inpiduate 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
登陆表单在应用程序中扮演一个特殊角色,并且你常常会让 Burp 用和处理平常表单不 一样的方式来处理这个表单。使用这个配置,你可以告诉 Spider 在遇到一个表单执行下面 4 种不同操作的一种:
1
.如果你没有证书,或者关注 Spidering 的敏感保护功能,Burp 可以忽略登陆表单。
2
.Burp 能交互地为你提示引导,使你能够指定证书。这时默认设置项。
3
.Burp 通过你配置的信息和自动填充规则,用处理其他表单的方式来处理登陆表单。
4
.在遇到的每个登陆表单时,Burp 能自动地提交特定的证书
在最后一种情况下,任何时间 Burp 遇到一个包含密码域的表单,会提交你配置的密码到密码域,提交你配置用户名到最像用户名的字段域。如果你有应用程序的证书,想让 Spider为你处理登陆,通常情况下这是最好的选项。
Spider Engine
这些设置控制用于Spidering时发出HTTP请求的引擎。下列选项可用:
1.
Number of threads----此选项控制并发请求进程数。
2.
Number of retries on network failure----如果出现连接错误或其他网络问题,BurpSuite会放弃和移动之前重试的请求指定的次数。测试时间歇性网络故障是常见的,所以最好是在发生故障时重试该请求了好几次。
3.Pause before retry----当重试失败的请求,BurpSuite会等待指定的时间(以毫秒为单位)以下,然后重试失败。如果服务器被宕掉、繁忙或间歇性的问题发生,最好是等待很短的时间,然后重试。
4.
Throttle between requests----BurpSuite可以在每次请求之前等待一个指定的延迟(以毫秒为单位)。此选项很有用,以避免超载应用程序,或者是更隐蔽。
5.
Add random variations to throttle----此选项可以通过降低您的要求的时序模式进一步增加隐身。
Request Headers
这些设置控制由蜘蛛发出的HTTP请求中使用的请求头。您可以配置头蜘蛛在请求中使用的自定义列表。这可能是有用的,以满足各个应用程序的特定要求 - 例如,测试设计用于移动设备的应用程序时,以模拟预期的用户代理。
以下选项也可用:
1.
Use HTTP version
1.1
----如果选中,Spider会使用HTTP1.
1
版在其请求;否则,它会使用
1.0
版。
2.
Use Referer header----如果选中,Spider会要求从另一个页面链接到任何项目时提交相关Referer头。此选项很有用更加紧密地模拟将通过您的浏览器发出的请求,并且还可能需要浏览一些应用程序验证Referer头。
使用
被动爬网
1.打开截断代理功能
2.手动访问站内所有的链接
主动爬网