BurpSuite扫描
1 BurpSuite扫描功能概述
Burp Scanner主要用于自动检测Web系统的各种漏洞。本节介绍Burp Scanner的基本使用方法, 在实际使用中可能会有所改变,但大体环节如下。
1.1 主动扫描模式
当使用主动扫描模式时, Burp会向应用发送新的请求并通过Payload验证漏洞。这种模式下的操作会产生大量的请求和应答数据,直接影响服务端的性能,通常用于非生产环境。主动扫描适用于以下这两类漏洞。
- 客户端的漏洞,如xss 、HTTP头注入、操作重定向。
- 服务端的漏洞,如SQL注入、命令行注入、文件遍历。
对第一类漏洞, Burp在检测时会提交input域,然后根据应答的数据进行解析。在检测过程中, Burp会对基础的请求信息进行修改,即根据漏洞的特征对参数进行修改,模拟人的行为,以达到检测漏洞的目的;对第二类漏洞,以SQL注入为例,服务端有可能返回数据库错误提示信息,也有可能什么都不反馈。Burp在检测过程中会采用各个技术验证漏洞是否存在,例如诱导时间延迟、强制修改Boolean值、与模糊测试的结果进行比较,以提高漏洞扫描报告的准确性。
1.2 被动扫描模式
当使用被动扫描模式时, Burp不会重新发送新的请求,只是对己经存在的请求和应答进行分析,对服务端的检测来说,这比较安全,通常适用于生产环境的检测。
一般来说,下列漏洞在被动模式中容易被检测出来。
- 提交的密码为未加密的明文。
- 不安全的cookie的属性,例如缺少HttpOnly和安全标志。
- cookie的范围缺失。
- 跨域脚本包含和站点引用泄露。
- 表单值自动填充,尤其是密码。
- SSL保护的内容缓存。
- 目录列表。
- 提交密码后应答延迟。
- session令牌的不安全传输。
- 敏感信息泄露,例如内部IP地址、电子邮件地址、堆枝跟踪等信息泄露。
- 不安全的ViewState 的配置。
- 错误或不规范的Content-Type指令。
虽然被动扫描模式相比主动模式有很多不足,但同时也具有主动模式不具备的优点。除了对服务端的检测比较安全,当某种业务场景的测试每次都会破坏业务场景的某方面功能时,可以使用被动扫描模式验证是否存在漏洞,以减少测试的风险。
2 BurpSuite扫描实验
2.1 实验及目标
- 在win2003中部署WEB服务器,配置IP为10.1.1.3。
- 利用BurpSuite访问网站并对请求和响应数据进行抓包。
- 利用BurpSuite扫描网站并生成报告。
2.2 数据抓包
- 启动BurpSuite,进入代理界面,进入拦截菜单,开启拦截功能,启动自带浏览器。
- 输入10.1.1.3,访问win2003中部署的网站。
- 查看抓包,学习请求报文和响应报文,左侧是报文详细参数,可以进行修改再转发,以实现测试的目的。
- 点击Forward,发送报文。当发送完请求并接收完响应报文后,可以看到浏览器成功打开网站。
- 进入历史截获数据功能栏,可以看到刚刚截获的报文清单。
2.3 网站扫描
- 选中历史截获报文清单中目标网站10.1.1.3对应的报文,右键,进入主动扫描。
- 进入仪表板(Dashboard)界面,查看扫描进度及结果,左侧是扫描进度以及日志,右上角是扫描结果清单,右下角是每个清单条目的详细情况。
2.4 生成扫描报告
- 选中一个扫描结果,右键,点击report issue,生成扫描报告。
- 选择报告的形式,点击下一步。
- 选中报告内容要包含哪些细节,点击下一步。
- 分别选择请求报告和响应报告要包含的内容,分别是不包含请求/响应结果、包括相关摘要、包括完整请求/响应结果。
- 选择需要报告需要呈现的漏洞类型。
- 选择报告存放路径与格式。
- 查看生成的报告。
3 总结
- 了解软件的抓包功能和扫描功能。
- 了解主动扫描和被动扫描的差异。
- 掌握请求报文和响应报文内容。