使用BurpSuite Authz插件快速探测越权访问漏洞

Authz插件介绍

我们平时做测试的时候发现越权问题都是基于修改ID的方式:A的ID改成B的ID然后进行请求查看是否可以越权获取到信息,或当ID的规律已知情况下基于BurpSuite Intruder模块直接去遍历ID。而基于Authz的检测是不一样的,其是将用户认证的HTTP请求头进行修改(Cookie之类的),然后通过响应长度、响应状态码判断是否存在越权;从本质上来讲没有任何区别,只是换了一个角度,但这样的好处是一定程度上的减少了测试的时间(例如:一个商城的业务系统,你有A、B账户,A账户买了个商品获得一个订单信息请求,当你想测试是否能越权获取B账户订单时就需要使用B账户去再购买,然后判断测试。)

使用BurpSuite Authz插件快速探测越权访问漏洞
BurpSuite越权Authz插件

Authz插件下载

https://github.com/portswigger/authz

快速安装->在BurpSuite的BApp Store应用市场可以直接下载安装。

Authz插件使用

使用插件检测的前提条件:同个业务系统中两个测试账号

作用:A账户用于功能的操作,B账户用于提供凭证(Cookie或者其他的用户身份凭证请求头)

举例说明

一个业务系统,将A、B账户登入,同时获取B账户的Cookie或者其他的用户身份凭证请求头,填入到Authz的New Header里:

使用BurpSuite Authz插件快速探测越权访问漏洞

A账户去请求(Burp别忘了监听着),寻找读取类请求(该类请求要包含ID之类的特征)然后右键请求包将该请求发送到Authz插件内:

使用BurpSuite Authz插件快速探测越权访问漏洞

发送的请求会在Burp的Authz的Tab标签窗口内:

使用BurpSuite Authz插件快速探测越权访问漏洞

当收集的差不多了,点击run跑起来,结果会在Responses处显示:

使用BurpSuite Authz插件快速探测越权访问漏洞

当原响应内容长度、响应状态码和被修改后请求的响应内容长度、响应状态码一致则会绿。

也就代表着存在越权,单击选择一行即可在下面展示出请求、响应的报文:

使用BurpSuite Authz插件快速探测越权访问漏洞

这里经过进一步检验(理论上不需要检验,但出于对测试的严谨态度还是检验一下比较好~)顺利的发现了三枚越权访问漏洞。

一个业务系统测完之后就Clear掉所有的东西,接着下一个业务系统咯。