BurpSuite基础教程第四发:Scanner模块(漏洞扫描)
2017-08-30 本文已影响62人
Jewel591
高级工具,自动地发现web 应用程序的安全漏洞。
一、模块 Scan queue
扫描队列,这里将显示扫描队列的状态、进度、结果等。
主要包含以下内容:
- 索引号的项目,反映该项目的添加顺序。
- 目的地协议,主机和URL 。
- 该项目的当前状态,包括完成百分比。
- 项目扫描问题的数量(这是根据所附的最严重问题的重要性和彩色化) 。
- 在扫描项目的请求数量进行。
- 网络错误的数目遇到的问题。
- 为项目创建的插入点的数量。
二、模块 Live scanning
实时扫描可让您决定哪些内容通过使用浏览器的目标应用,通过BurpProxy服务器进行扫描。
您可以实时主动扫描设定live active scanning(积极扫描)和live passive(被动扫描)两种扫描模式。
| 选项 | 解释 |
|---|---|
| Live Active Scanning | 积极扫描。当浏览时自动发送漏洞利用代码。 |
| Don't scan | 不开启扫描。 |
| Use suite scope[defined in target tab] | 如果你已经配置了一套全范围的目标为你目前的工作,那么你可以简单地通知Burp主动扫描落在该范围内的每个请求。 |
| Use custom scope | 自定义扫描。选中后会出现编辑列表,可以使用URL匹配规则定义自定义范围 |
| 选项 | 解释 |
|---|---|
| Live Passive Scanning | 被动扫描。只分析流量不发送任何请求。 |
| Don't scan | 不开启扫描。 |
| Scan everything | 扫描所有。扫描所有经过代理的流量。 |
| Use suite scope[defined in target tab] | 如果你已经配置了一套全范围的目标为你目前的工作,那么你可以简单地通知Burp主动扫描落在该范围内的每个请求。 |
| Use custom scope | 自定义扫描。选中后会出现编辑列表,可以使用URL匹配规则定义自定义范围 |
三、模块 Issue Definitions
漏洞列表,列出了burp可以扫描到的漏洞详情:
这里详细说明了常见漏洞的介绍,这里不做详细介绍,相关资料请自行搜集。
四、模块 Options
包含Burp扫描选项进行攻击的插入点,主动扫描引擎,主动扫描优化,主动扫描区和被动扫描区域。
4.1 Attack Insertion Points
攻击的插入点。设定将攻击放在哪个位置
| 选项 | 解释 |
|---|---|
| URL parameter values | 将攻击代码放在URL中。 |
| Body parameter values | 将攻击代码放在正文中,包括标准形式生成的参数参数值,属性的多重编码的参数,如上传的文件名, XML参数值和属性,和JSON值。 |
| Cookie parameter values | 将攻击代码放在HTTP Cookie的值中。 |
| Parameter name | 任意添加的参数的名称。 |
| HTTP headers | 在引用页和用户代理标头的值。测试这些插入点通常可以检测如SQL注入或跨站脚本持续在日志记录功能的问题。 |
| AMF string parameters | 内AMF编码的邮件的任何字符串数据的值。 |
| REST-style URL parameters | URL的文件路径部分中的所有目录和文件名令牌的值。测试每一个插入点可以并处显著开销,如果你相信应用程序使用这些位置传送参数数据,才应使用。 |
| Cheange Parameter locations (causes many more scan requests) | 修改参数的位置(会产生更多的扫描请求),可以一些防火墙或过滤器。 |
| Use Nested Insertion Points | 使用嵌套插入点。嵌套的插入时,会使用一个插入点的基值包含可识别的格式的数据。 例如,一个URL参数可能包含Base64编码数据,并且将解码后的值可能又包含JSON或XML数据。与使用启用嵌套插入点的选项,Burp会为输入在每个嵌套级别中的每个单独的项目适合的插入点。 |
| Maximum Insertion Points Per Request | 限制每个请求的最大插入点。 |
| Skip server-side injction tests for these parameters / skip all tests for these parameters | 跳过列表中参数的测试。设定让您指定请求参数的Burp应该跳过某些测试。 |
4.2 Active Scanning Engine
控制用来做主动扫描时发出HTTP请求的线程、时间间隔等。
| 选项 | 解释 |
|---|---|
| Number of threads | 设置请求线程。控制并发请求数。 |
| Number of retries on network failure | 如果出现连接错误或其他网络问题,Burp会放弃和移动之前重试的请求指定的次数。测试时间歇性网络故障是常见的,所以最好是在发生故障时重试该请求了好几次。 |
| Pause before retry | 当重试失败的请求,Burp会等待指定的时间(以毫秒为单位)以下,然后重试失败。如果服务器宕机,繁忙,或间歇性的问题发生,最好是等待很短的时间,然后重试。 |
| Throttle between requests | 在每次请求之前等待一个指定的延迟(以毫秒为单位)。此选项很有用,以避免超载应用程序,或者是更隐蔽。 |
| Number of threads | 线程。控制发送请求的线程。 |
| Number of retries on network failure | 在遇到网络请求超时时重新请求的次数。 |
| Pause before retry | 重试失败的请求的时间间隔。 |
| Throttle between requests | 请求之间的时间间隔。 |
| Add random variations to throttle | 添加随机的变化到请求中。增加隐蔽性。 |
| Follow redirections where necessary | 是否必要时跟随重定向。因为某些应用程序的问题重定向到包含您所提交的参数值的第三方网址,BurpSuite保护您免受无意中攻击的第三方应用程序,不按照刚刚收取任何重定向。 |
4.3 Active Scanning Optimization
主动扫描优化,根据实际情况选择扫描方式。
image.png
Scan speed:扫描速度:
| 选项 | 解释 |
|---|---|
| fast | 快速扫描,发送请求较少,扫描一些基本漏洞。 |
| normal | 正常扫描,适用于大部分扫描。 |
| thorough | 深入扫描,发起更多请求,检查更多的衍生类型的漏洞 |
Scan accuract:扫描准确性:
| 选项 | 解释 |
|---|---|
| Minimize false negatives | 进行重试较少,因此更可能报告假阳性的问题,但也不太可能会错过由于不一致的应用程序行为的真正问题。 |
| normal | 正常扫描,适用于大部分扫描。 |
| Minimize false positives | 进行更多的试,所以是不太可能报告假阳性的问题,但可能会因此错误地错过了一些真正的问题,因为有些重试请求可能只是碰巧不返回结果是测试。 |
| Use intelligent attack selection | 使用智能攻击选择。 |
4.4 Active Scanning Areas
设定主动扫描的范围。设置在扫描过程中需要检测的漏洞类型。
image.png
SQL注入:
| 选项 | 解释 |
|---|---|
| error-based | 基于错误的SQL注入 |
| mssql-spcific tests | mssql数据库的SQL注入 |
| time-dalay tests | 基于延时的SQL注入 |
| oracle-spcofic tests | oracle数据库SQL注入 |
| boolean condition tests | 基于布尔的SQL注入 |
| mysql-spcofic tests | mysql数据库的注入 |
其他:
| 选项 | 解释 |
|---|---|
| Server side code injection | 服务器端代码注入 |
| Server-side template injection(reuires reflected XSS) | 服务端的注入(反射型xss) |
| Reflected XSS | 跨站点脚本 |
| Stored XSS | 存储型的跨站点脚本 |
| File path traversal/manipulation | 文件路径遍历/可编辑 |
| HTTP header injection | HTTP头注入 |
| XML/SOAP injection | XML/SOAP注射 |
| LDAP injection | DAP注入 |
| Cross-site request forgery | 跨站请求伪造 |
| Open redirection | 开放重定向 |
| Header manipulation | 头操纵) |
| Server-level issues | 服务器级的问题 |
以上为常见的漏洞类型,我们在实际使用过程中默认全选,如果我们只需要检测SQL注入,那么我们可以选择对应的选项,减少发送的请求数,提高扫描速度。
4.5 Passive Scanning Areas
设定被动扫描的范围。设置在扫描过程中需要检测的漏洞类型。
| 选项 | 解释 |
|---|---|
| Headers | 头 |
| Forms | 表格 |
| Links | 链接 |
| Parameters | 参数 |
| Cookies | Cookie |
| Server-level issues | 服务端漏洞 |
| MIME type | MIME类型(多用途互联网邮件扩展类型) |
| Caching | 缓存 |
| Information disclosure | 信息泄漏 |
| Frameable responses | 耐燃反应(“点击劫持”) |
| ASP.NET ViewState | ASP.NET视图 |
4.6 Static Code Analysis
静态代码分析,设置包括可执行代码的静态分析的扫描类型。
| 选项 | 解释 |
|---|---|
| Active scanning only | 只进行主动扫描 |
| Active and passive scanning | 主动扫描+被动扫描 |
| Don't perform static code analysis | 不进行静态分析 |
| Maximum analysis time per item(seconds) | 每个项目分析所使用的最大时间(单位/秒) |