前言

进行渗透测试时,测试垂直越权是不可避免的步骤。因为鉴权的问题,几乎在每一个新系统都存在。

Burpsuite上这类插件很多,yakit上也存在此类插件。

测试垂直越权

测试垂直越权,我们有一个通用的办法。那就是创建两个账号,一个拥有最高权限,一个仅拥有能登录的权限。然后用高权限的账号尽可能多的点击页面的按钮,在途中替换登录凭证为低权限的,看能否正常访问,响应是否一样。

如果一样,说明存在垂直越权的问题。

流程图

41eb136176e32bc008c43fdac70a1d24.png

Yakit测试垂直越权

打开yakit mitm,免配置启动chrome。

输入高权限账号密码,进入系统后台。
打开一个数据包,判断登录凭证是什么。(这一步一定要认真检查,如果粗心大意漏掉了关键参数,结果可能错的离谱,好的结果是重来一遍,坏的结果是测试报告给客户,结果被客户投诉了,说漏洞不存在。)

测试过程,也很简单,把请求头一个一个删掉,直到后端返回认证失败。
该系统判断鉴权只有一处,Authorization。
6cb6aac9f364e5cad4f73ed9156be62c.png
有的时候,请求中会携带cookie,但是这个cookie并不用来鉴权。为了避免后端哪个地方会调用(你也不知道,开发会有什么样的惊世智慧),把Cookie字段置空。

换另一个浏览器,或者使用无痕浏览器,以低权限账号登录系统,获取登录凭证。
bdfe843f4eaea31c96c13313b9348fec.png

eyJhbGciOiJIUzUxMiJ9.eyJsb2dpbl91c2VyX2tleSI6Ijc3YWRiNzQ3LTgzM2UtNDk1Yi05ZTc3LWYxN2Y0ZWE0MDc4MSJ9.7IqZdpebtoZ3kvXi-cP61nzD-A0PYfj8mTnCxUnBLuq2V2Um2yyNYqk2vtUMNLdPsX3O4mZPA7tlixKI9VGasA

编辑 yakit MITM 的交互插件多认证综合越权测试

240f33caa549f51544d0a1d8b8443590.png

添加认证字段
可选 Cookie 和 Header
3877a343b7e7a1ac24d9d7caa416b99e.png

接下来,在高权限账号的系统页面点击功能点

交互插件多认证综合越权测试会发送两次数据包,一次是我们替换的认证字段,一次是将认证字段置空。
7c35d81f74cec0c9abdaa2ddffe573ec.png

我们可以看history中的相似度,判断是否存在越权,如果存在,yakit会将其标红。
4f9a4a49831e88d4f29fcc87866462a7.png

此时,js和vue结尾的请求可能不是我们想要的,我们可以点击过滤器添加后缀
f9cf6031e16c6f4e4cfdfbfe7df28488.png

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐