Neurohazard
暮雲煙月,皓首窮經;森羅萬象,如是我聞。

【Note】Burp Suite Essentials : Charpter 6

wpadmin~October 11, 2018 /InfoSec

【Note】Burp Suite Essentials : Charpter 6 | Using Burp Tools As a Power User – Part 2

Charpter 6 Using Burp Tools As a Power User – Part 2

Summary

本章逐步讲解 Burp 各个模块的用法,包括 Spider, Sequencer, Decoder, Comparer, Alerts 等。

6.1 Spidering

6.2 Sequencer
6.2.1 Analysis of the tokens
6.2.2 Sample analysis

6.3 Decoder

6.4 Comparer

6.5 Alerts

6.6 Summary

Spider

对于一个爬虫开发者的中高阶问题
比如对于 Ajax 和 Flash 内容的处理

Ajax and Adobe Flash-based content 可能爬取不完全

【警告】Burp 在爬取的时候会对所有能提交表单的地方提交虚拟数据(dummy data),这种操作可能会污染生产数据库。 (如果开启自动提交数据的话)

【警告】另外也要考虑到类似其他场景,比如说有一个 按钮 或者 超链接 ,其功能是删除所有用户,只要点击即发生,没有任何二次确认 (由于系统老旧,或者其他原因),在这种情况下使用自动化爬虫十分危险的事!

爬虫速度控制

Spider > Options > Spider Engine

可以随时暂停爬虫

Sequencer

在 HTTP 请求的参数中,不论是 URL 中的参数, HTTP Header 中的参数, data 域的参数,或者是 cookie 中的参数
可能会有 session ID, anti-CSRF tokens, password reset tokens, user account activation tokens 等。 有一个很基本的问题,这些值是否足够“随机”,如果攻击者获取到足够大量的样本,能否推演出其变化的规律。 (Will a large enough sample of tokens reveal any patterns that allow us to guess a token value that might have been generated in the past or might occur in the future)

Burp Sequencer 作为 Burp Suite 中一款用于检测数据样本随机性质量的工具,通常用于检测访问令牌是否可预测、密码重置令牌是否可预测等场景,通过 Sequencer 的数据样本分析,能很好地降低这些关键数据被伪造的风险。

同时需要说明的是,要完整的掌握 Sequencer 也涉及诸多数学统计分析的知识。

Decoder

Burp Decoder 的功能比较简单,作为 Burp Suite 中一款编码解码工具,它能对原始数据进行各种编码格式和散列(哈希)的转换。其界面如下图,主要由输入域、输出域、编码解码选项三大部分组成。

输入域即输入需要解码的原始数据,此处可以直接填写或粘贴,也可以通过其他Burp工具的上下文菜单中【Send to Decoder】;输出域即对输入域进行解码的结果显示出来。无论是输入域还是输出域都支持文本与Hex两种格式,其中编码解码选项中,由解码选项(Decode as)、编码选项(Encode as)、散列(Hash)三个构成。实际使用中,可以根据场景的需要进行设置。对于编码解码选项,目前支持URL、HTML、Base64、ASCII、16进制、8进制、2进制、GZIP共八种形式的格式转换,Hash散列支持SHA、SHA-224、SHA-256、SHA-384、SHA-512、MD2、MD5格式的转换,更重要的是,对于同一个数据,我们可以在Decoder的界面,进行多次编码解码的转换。

Comparer

在某些 Blind SQLi 的情况下,页面之间的变化可能微乎其微。需要一些辅助工具,Burp Comparer 就类似一个可视化比较好的 diff。

Burp Comparer 在 Burp Suite 中主要提供一个可视化的差异比对功能,来对比分析两次数据之间的区别。使用中的场景可能是:

  1. 枚举用户名过程中,对比分析登陆成功和失败时,服务器端反馈结果的区别。
  2. 使用 Intruder 进行攻击时,对于不同的服务器端响应,可以很快的分析出两次响应的区别在哪里。
  3. 进行 SQL 注入的盲注测试时,比较两次响应消息的差异,判断响应结果与注入条件的关联关系。

Alert

Alerts is not a tool as such but a place for all suite-wide notifcations that Burp might want to share. This is also a good place to see whether the proxy started successfully or faced any errors. Whenever there are issues with SSL negotiation for applications, the information on the errors, and others, they can be found in the Alerts tab. It is a good idea to check what is being listed here if something is not working for you.

Alerts 不是一个工具,它是 Burp 提供告警通知的地方。 这也是查看代理(proxy)是否成功启动或遇到任何错误的好地方。 每当应用程序的SSL协商存在问题,有关错误的信息以及其他问题时,都可以在 Alerts 选项卡中找到它们。 如果某些功能没有生效 ,最好检查一下这里列出的是什么。

参考资料

第十章 如何使用Burp Sequencer
https://t0data.gitbooks.io/burpsuite/content/chapter10.html

第十一章 如何使用Burp Decoder
https://t0data.gitbooks.io/burpsuite/content/chapter11.html

第十二章 如何使用Burp Comparer
https://t0data.gitbooks.io/burpsuite/content/chapter12.html

Leave a Reply

Your email address will not be published. Required fields are marked *