Burp Spider 使用指南

 Burp Spider Help

1 Burp网络爬虫是什么?(What is Burp Spider?)

Burp Spider是一个映射 web应用程序的工具。它使用多种智能技术对一个应用程序的内容和功能进行全面的清查。

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

Burp Spider能使你清楚地了解到一个 web应用程序是怎样工作的,让你避免进行大量的手动任务而浪费时间,在跟踪链接,提交表单,精简 HTNL源代码。可以快速地确人应用程序的潜在的脆弱功能,还允许你指定特定的漏洞,如 SQL注入,路径遍历。

2 使用 Burp Spider(Using Burp Spider)

要对应用程序使用 Burp Spider需要两个简单的步骤:

1.使用 Burp Proxy配置为你浏览器的代理服务器,浏览目标应用程序(为了节省时间,你可以关闭代理拦截)。

2.到站点地图的”target”选项上,选中目标应用程序驻留的主机和目录。选择上下文菜单的 “spider this host/branch”选项。

 

你也可以在任何Burp工具的任意请求或响应上使用上下文菜单上选择”spider this item”.当你发送一个站点地图的分支来 spidering,Spider会首先检查这个分支是否在定义好的spidering的范围内。如果不是,Burp会提示你是否把相关的 URL添加到范围里。然后,Burp开始 spidering,并执行下面的操作:

在分支上,请求那些已被发现的还没被请求过的 URL。

在分支上,提交那些已被发现但提交 URL错误的表单。

重复请求分支上的先前收到的状态码为 304的项,为检索到一个应用程序的新(未进入缓存)副本。

对所有的检索到内容进行解析以确认新的 URL和表单。

只有发现新内容就递归地重复这些步骤。

继续在所有的范围区域内 spidering,直到没有新内容为止。

注意 Spider会跟踪任何在当前定义的 spidering范围内的 URL链接。如果你定义了一个比较宽的目标范围,并且你只选择了其中的一个分支来 spidering,这时 Spider会跟踪所有进入到这个比较宽的范围内的链接,于是也就不在原来的分支上 spider。为了确保 Spider只在指定分支内的请求上,你应该在开始时,就把 spidering范围配置为只在这个分支上。你应该小心地使用 Burp Spider。在它的默认设置上,Spider会在 spidering范围内使用默认输入值,自动地提交任意表格,并且会请求许多平常用户在只使用一个浏览器不会发出的请求。如果在你定义范围的 URL是用来执行敏感操作的,这些操作都会被带到应用程序上。在你完全地开始自动探索内容之前,使用浏览器对应用程序进行一些手动的映射,是非常可取的。

3 控制选项(Control tab)

这个选项是用来开始和停止 Burp Spider,监视它的进度,以及定义 spidering的范围。

Spider running这个是用来开始和停止 Spider。Spider停止后,它自己不会产生请求,但它会继续处理通过 Burp Proxy的响应,并且在 spidering范围内的新发现的项都会送入请求队列里,当 Spider重新启动时,再来请求。

这里显示的一些 Spider进度的指标,让你能看到剩余的内容和工作量的大小。

Clear queues如果你想改变你工作的优先权,你可以完全地清除当前队列的项目,来让其他的项目加入队列。注意如果被清除的项目如果还在范围内并且 Spider的分析器发现有新的链接到这个项目,那么它们还会加入队列

Spider scope在这个面板里,你能精确地定义 Spider的请求范围。如果你已经根据当前目标细节配置好了 Suit-wide的目标范围,你可以丢弃 Spider默认设置的活动范围。如果你需要使用一个定义的不同的 Spider范围,则选择” use custom scope”。一个进一步设置面板会出现,和 Suite-wide范围面板的功能相似。如果你使用自定义范围并向 Spider发送不在范围内的项,则 Burp会自动更新这个自定义的范围而不是 Suite范围。

4 项目选项卡(Options tab)

这个选项里包含了许多控制 Burp Spider动作的选项,如下描述。这些设置在 spider启动后还可以修改的,并且这修改对先前的结果也是有效的。例如,如果增加了最大链接深度,在以前的最大链接深度外的链接如果满足现在的条件,也会加入到请求队列里。

check robots.txt如果这个被选中,Burp Spider会在所有范围内的域名上请求和处理 robots.txt文件。通过 robots排除协议来控制互联网上的 spider-like代理的行为。注意 Burp Spider不会确认 robots排除协议。Burp Spider会列举出目标应用程序的所有内容,请求所有在范围内的 robots.txt条目。

Use cookies如果这个被选中,Burp Spider会处理服务器响应中的Set-Cookie指令,会在后面的请求中向同一域名提交任意接收到的 cookie。当 spidering一个 web应用程序时,并且这个应用程序保持着服务器端的状态时,这个选项就显得非常有必要了。

detect custom "not found" responses如果没有找到请求的资源,HTTP协议要求 web服务器返回一个 404的状态码。然而许多 web应用程序会返回自定义的”not found”页面,用来代替不同的状态码。使用这个选项就能阻止在映射站点内容时产生的这种误报。Burp Spider通过请求每个域名里的一些不存在的资源就能探测到这种自定义的”not found”响应。通过编译出的这个指纹来识别其他请求的”not found”响应。

ignore links to non-text content常常需要推断出在 HTML上下文里链接到特殊资源的 MIME类型。例如,带有 IMG标记的 URL会返回图像;那些带有 SCRIPT标记的会返回JavaScript。如果这个选项被选中,Spider不会请求在这个上下文出现的出现的非文本资源。使用这个选项,会减少 spidering时间,降低忽略掉感兴趣内容的风险。

request the root of all directories如果这个选项被选中,Burp Spider会请求所有已确认的目标范围内的 web目录,除了那些目录里的文件。如果在这个目标站点上目录索引是可用的,这选项将是非常的有用。

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

maximum link depth这是 Burp Suite在种子 URL里的巡览”hops”的最大数。0表示让 Burp Suite只请求种子 URL。如果指定的数值非常大,将会对范围内的链接进行无限期的有效跟踪。

这些选项控制着 Burp Proxy与 Burp Spider之间的接口,它允许”被动”的 spidering web应用程序,控制浏览器。

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

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

注意:在早期的 Burp Spider版本里,这里包含的选项是控制在 Proxy里的请求和响应的cookies上,怎样更新 spider cookie jar。现在这些配置已被删除了,你可以使用 suite-wide里的会话处理来代替。

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

do not submit如果选中这个,Burp Spider不会提交任何表单。

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

automatically submit如果选中这个,Burp Spider通过使用定义的规则来填写输入域的文本值来自动地提交范围内的表单。每一条规则让你指定一个简单的文本或者正则表达式来匹配表单字段名,并提交那些表单名匹配的字段值。可以为任意不匹配的字段指定默认值。

在应用程序通常需要对所有输入域都是有效格式的数据的地方,如果你想通过登记表单和相似功能自动地 spider,则这个选项会非常有用。在自动地把表单数据提交到广阔范围内的应用程序时,Burp使用一组非常成功的规则。当然,如果你遇到有自己需要提交的特定值的表单字段名时,你可以修改这些或者添加自己的规则。你要小心地使用这个选项,因为提交了表单里的虚假值有时会导致一些不希望看到操作。

许多表单包含了多个提交元素,这些会对应用程序进行不同的操作,和发现不同的内容。你可以配置 Spider重复通过表单里提交元素的值,向每个表单提交多次,次数低于配置的最大值。

登陆表单在应用程序中扮演一个特殊角色,并且你常常会让 Burp用和处理平常表单不一样的方式来处理这个表单。使用这个配置,你可以告诉 Spider在遇到一个表单执行下面 4种不同操作的一种:

1.如果你没有证书,或者关注 spidering的敏感保护功能,Burp可以忽略登陆表单。

2.Burp能交互地为你提示引导,使你能够指定证书。这时默认设置项。

3.Burp通过你配置的信息和自动填充规则,用处理其他表单的方式来处理登陆表单。

4.在遇到的每个登陆表单时,Burp能自动地提交特定的证书。

在最后一种情况下,任何时间 Burp遇到一个包含密码域的表单,会提交你配置的密码到密码域,提交你配置用户名到最像用户名的字段域。如果你有应用程序的证书,想让 Spider

为你处理登陆,通常情况下这是最好的选项。

这些选项让你来对 Spider引擎进行微调,这取决于应用程序的性能的影响和你的处理能力和带宽。如果你发现 Spider运行缓慢,但应用程序运行良好,CPU的利用率也很低时,你可以增加扫描线程数,来使扫描过程更快。如果你发现有连接错误产生,应用程序开始变慢,或者电脑特别卡,这时你应该降低线程数,或者增加下面的那两个参数。

Request headers这里允许你自定义 HTTP消息头,通过配置把它应用到所有的请求中。这对满足个别应用程序的特别需求很有用。例如,当测试一个为移动设备设计的应用程序时,来模拟一个被期望的用户。

use Referer header如果这个选项被选中,当 Burp Spider请求的项是从其他页面的链接过来时,就会提交相关的 Referher heards。

5 Spider的结果(Spider results)

所有的在 spidering过程里发现的内容都会被添加到目标站点地图里,其他组件工具也共享这个地图信息。这个地图显示了通过 Spider和 Proxy发现的内容的视图树和表格。它让你可以过滤掉视图树里任何不感兴趣的项,并且执行一些其他的操作,如开始扫描漏洞,进一步 spidering,把一些请求发送到其他 Burp工具上执行自定义攻击。请查询站点地图帮助来得到进一步的信息。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值