您好,欢迎来到爱go旅游网。
搜索
您的当前位置:首页burpsuiteScanner模块详解

burpsuiteScanner模块详解

来源:爱go旅游网
burpsuiteScanner模块详解

由于版本更新,原来的scanner模块消失,取⽽代之的scanner功能,阅览全⽹,发现很少有对该功能详细介绍的,下⽂便是根据官⽅⽂档来介绍该功能。

分两个阶段,第⼀个阶段是crawl阶段,第⼆个阶段audit阶段这篇⽂章暂不设计操作层⾯。

Crawling(爬⾏)阶段

该阶段的主要任务就是尽可能绘制完整正确的应⽤“地图”。其中包含浏览应⽤程序,追踪链接,提交表单和在必要的地⽅登录等众多⼦任务,以达到绘制该⽹络应⽤程序内容和其中导航路径的⽬录。

核⼼⽅法

在默认情况下,burp的crawler(爬⾍,以下称为burp crawler)使⽤内置浏览器,点击链接且在可能的地⽅提交输⼊来浏览⽬标应⽤程序。然后以有向表的形式绘制整个web⽹络程序的内容和功能,既表现了应⽤程序不同的位置也体现了他们之间的联系。

burp的crawler并不是对⽬标应⽤程序的url结构进⾏猜测。不同模块的位置是根据他们的内容确定的(并且会在之后再次确定),⽽不是根据到达该板块的url来确定。这确保crawler能可靠地处理当前流⾏地应⽤程序中会在url中放置暂时地数据,如CSRF tokens或cachebosters,这样即使每⼀个链接的url时不时就会改变,burp crawler也会绘制出正确的应⽤“地图”

该⽅法同样允许burp crawler使⽤相同的URL来到达不同的位置,该位置基于程序的状态亦或是⽤户跟该程序的交互。

当burp crawler围绕整个应⽤为导向,并建⽴⽬标应⽤程序的覆盖时,burp crawler会跟踪“应⽤地图”中尚未完成的边,也就是应⽤中已被监测到但还未访问的链接。但是burp crawler从不会不依据上下⽂,跳转到⼀个待定的链接并且访问它。相反,burp crawler要么直接以当前地址为导向进⼊与之相联系的页⾯,要么返回最开始的位置,从头开始。总之就是尽可能还原⼀个真正的⽤户访问各式各样的⽹址的操作。 不做假设操作会让burp crawler⾼效处理当前流⾏应⽤程序,但是可能会导致看到过多的内容。现代应⽤程序常常包含⼤量多余的导航路径,意味着每⼀条路径都彼此相联系。burp crawler采取⼤量技术处理这⼀问题包括

给已经访问过的位置建⽴链接指纹避免重复访问;

以⼴度优先的原则爬⾏(内容),即以发现新的内容为优先具有可配置的爬⾏范围的。

session handling(会话处理)

当burp crawler 使⽤内置浏览器在⽬标应⽤程序中‘畅游’时,它⼏乎可以应付任何会话处理机制这跟当前实际使⽤的浏览器⼀样的。这就没有必要录制宏指令或是安装会话处理机制规则来获取⼀个会话或是验证当前会话是否可⽤。

burp crawler采⽤多个crawler 客户端并⾏化⼯作。每⼀个客户端代表⼀个独⽴的⽤户正在浏览各⾃的浏览器。每⼀个客户端也都有其独⽴的cookie盒⼦,这个cookie盒⼦会随着应⽤程序每⼀次颁发给客户端⽽更新。当⼀个客户端从最初的位置重新开始爬⾏,cookie盒⼦会被清空,⽤以模拟⼀个全新的浏览器会话。

其请求(request)消息也动态地基于应⽤程序之前的回复(response),所以csrf tokens也是⾃动使⽤的。

Detecting changes in application state(检测应⽤状态变化)

Burp的爬⾍能够检测到应⽤程序状态的变化,这些变化是由于它在爬⾏过程中执⾏的动作引起的。

Application login

burp crawler从⼀个未经验证的阶段开始,在这个阶段中没有提交任何凭据。当这⼀阶段完成,burp crawler 会发现应⽤程序中任何登录或是⾃注册功能。

如果该应⽤程序⽀持⾃注册,burp suite会尝试注册⼀个⽤户。我们同样可以给crawler配置⼀个或多个已有的⽤户。

Crawling volatile content(爬⾏易变的页⾯内容)

Burp的爬⾍能够识别许多不稳定内容的实例,并在不同的访问中正确地重新识别相同的位置,尽管响应不同。这允许爬⾍将注意⼒集中在⼀组应⽤程序响应中的“核⼼”元素上,就发现应⽤程序内容和功能的关键导航路径⽽⾔,这可能是最重要的。

Auditing for vulnerabilities(审计漏洞)

审计阶段包括解析该应⽤程序的流量和⾏为来识别安全漏洞和其他问题。burp scanner采⽤各式各样的⽅法对被扫描的应⽤程序进⾏⾼覆盖率、⾮常准确的审计。

审计阶段

被动阶段主动阶段

JavaScript解析阶段

在多个区域执⾏的每个阶段burp scanner都有如下任务:

有效查找和利⽤需要存储和返回⽤户输⼊的功能通过处理经常发⽣的问题和找到最佳的注⼊点避免重复并⾏执⾏适⽤的⼯作,以最有效地利⽤系统资源

漏洞和其他问题类型

被动型:这些问题可以通过检查应⽤程序的正常请求和响应来检测。如HTTP消息中的序列化对象。

微主动型:这些问题可以通过发出少量良性的附加请求来检测。

如跨源资源分享cross-origin resource sharing (CORS),这⼀漏洞相信任意的来源。中等主动型:这些问题可以通过发出应⽤程序可能认为是恶意的请求来检测。如操作系统命令注⼊(OS command injection)

侵⼊主动型:这些问题可以通过发出具有破坏应⽤程序或其数据较⾼风险的请求来检测。如SQL注⼊

JavaScript解析型:这些问题可以通过分析应⽤程序在客户端执⾏的JavaScript来检测。如DOM型跨站脚本(DOM XSS)问题也可以根据发现的级别分为不同的类型

主机级别(Host level):这些问题是主机应⽤程序正在运⾏的HTTP服务中出现的。如被允许的flash跨域策略

请求级别(Request level):这些问题出现在单个请求的级别上。如跨站请求伪造(CSRF cross-site request forgery)

注⼊点级别(Insertion point level):这些问题出现在请求中的插⼊点级别。如⽂件路径遍历

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务