2.3.1 Burp Suite
Burp Suite 是一款基于 Java 语言开发的安全测试工具,使用它需要安装 Java 运行环境。这款软件只有不到 10MB 的大小,但是其强大的功能受到几乎所有安全人员的青睐。Burp Suite 主要分为 Proxy、Spider、Scanner、Intruder、Repeater、Sequencer、Decoder 和 Comparer 几个大模块。下面简单介绍下各个模块:
·Proxy(代理)Burp Suite 的代理抓包功能是这款软件的核心功能,当然也是使用最多的功能。使用这个代理,可以截获并修改从客户端到 Web 服务器的 HTTP/HTTPS 数据包。
·Spider(蜘蛛)用来分析网站目录结构,爬行速度非常不错,爬行结果会显示在 Target 模块中,支持自定义登录表单,让它自动提交数据包进行登录验证。
·Scanner(扫描器)用于发现 Web 程序漏洞,它能扫描出 SQL 注入、XSS 跨站、文件包含、HTTP 头注入、源码泄露等多种漏洞。
·Intruder(入侵)用来进行暴力破解和模糊测试。它最强大的地方在于高度兼容的自定义测试用例,通过 Proxy 功能抓取的数据包可以直接发送到 Intruder,设置好测试参数和字典、线程等,即可开始漏洞测试。
·Repeater(中继器)用于数据修改测试,通常在测试一些像支付等逻辑漏洞的时候经常需要用到它,只需要设置好代理拦截数据包,然后发送到 Repeater 模块即可对数据随意修改之后再发送。
·Sequencer(会话)用于统计、分析会话中随机字符串的出现概率,从而分析 Session、Token 等存在的安全风险。
·Decoder(解码)用于对字符串进行编码和解码,支持百分号、Base64、ASCII 等多种编码转换,还支持 Md5、sha 等 Hash 算法。
·Comparer(比较器)用于比较两个对象之间的差异性,支持 text 和 hex 形式的对比,通常用来比较两个 request 或者 response 数据包之间不同的地方,功能类似于网上常见的文本或者文件对比软件。
以上是 Burp Suite 的几乎所有功能。当然,不同的使用者有不同的需求,很少会用到上面介绍的所有功能。笔者再详细介绍一下常用的几个功能。
1.Proxy 功能
这是使用最多的功能,因为其他的几个常用功能也依赖于代理功能抓到的数据包。
它的使用非常简单,打开 Burp Suite 后,点击菜单栏的 Proxy 即可看到 Proxy 功能界面。首先需要设置监听 IP 和端口,在 Proxy Listeners 区域选中代理项,然后点击左边的 Edit 按钮。它有三种监听模式,如图 2-17 所示。
如果你只需要监听本地的数据,绑定地址的地方设置 Loopback only 即可。如果需要监听到本机的所有 HTTPS/HTTP 流量,则选中 All interfaces。默认监听 8080 端口,在这里可以自行修改,点击 OK 按钮完成设置。
接下来的设置要在需要被代理的客户端完成。这里的设置如图 2-18 所示。
由于这里要监听本地浏览器的数据,所以设置代理服务器地址为 127.0.0.1,端口为 8080,也就是 Burp Suite 中之前设置的监听端口。
图 2-17
图 2-18
现在就可以开始抓包测试了。如图 2-19 所示,已经可以成功抓到浏览器的 Request 和 Response 数据。
2.Intruder 功能
该功能主要用于模糊测试。在模糊测试分类里,用得最多的是暴力破解登录用户密码,笔者非常喜欢这个功能,因为它有非常强大的兼容性来支持各种数据格式爆破。下面让我们来见识下 Intruder 到底是有多强大。这里演示用它来爆破 Discuz 后台登录密码。注意,Discuz 登录是有登录验证限制的,每个 IP 只有 5 次登录失败的尝试机会。我们利用 Burp Suite 绕过这个登录限制进行密码爆破,绕过原理是,由于 Discuz 采用的是 HTTP_CLIENT_IP 的方式来获取 IP,而这个值可以在发送请求时伪造,于是我们可以利用 Burp Suite 来伪造这个登录 IP 绕过错误次数限制。
图 2-19
首先,按上面的介绍设置好代理抓包,在浏览器中打开 Discuz 后台登录页面,在账号及密码输入框输入任意字符,点击“提交”按钮,回到 Burp Suite,将抓到的数据项发送到 Intruder。接下来,就需要对登录数据包进行修改。
在 Intruder 的 Positions 中需要设置攻击类型为 Pitchfork,并且全选数据包,点击 Clear$按钮清除全部标识。然后在 HTTP 头中添加“client-ip:1.2.3.4”,并且将 1234 这个四个数字单独打上$标识,为 Post 数据里面的 admin_password 字段的值也打上$标识。最后修改效果如图 2-20 所示。
接下来就需要设置 payload 了,点击菜单栏的 Payloads,为 Payload set 下拉框里面的第 1、2、3、4 个选项设置一样的 Numbers payload,包括其他参数设置的最终界面如图 2-21 所示。
设置 Payload set 为 5 的 Payload type 为 simple list,并且点击下面的 Load 按钮载入你的密码字典,然后我们的所有配置就完成了。点击菜单栏的“Intruder”里的“Start Attack”按钮即可开始爆破。爆破成功的效果如图 2-22 所示。
图 2-20
图 2-21
图 2-22
3.Repeater 功能
这个功能经常用于修改数据包以及重放请求,测试漏洞的时候经常需要使用到 Repeater。下面来详细看看它的使用方法。
首先设置好 proxy,然后通过浏览器触发请求查看 Burp Suite 捕捉到的数据包,在“http history”里选中监听到的数据包项,右键发送到 Repeater。接着我们就可以对请求数据做任意修改了,修改完成后点击 Go 按钮即可发送数据包,如图 2-23 所示。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论