自定义构造参数进行垂直越权

admin 2023年10月19日14:53:03评论9 views字数 882阅读2分56秒阅读模式

声明:请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与文章作者和本公众号无关。

本文的目的是让读者借鉴我的实战经验,学习到一些新的渗透测试姿势,提升自己的安全渗透测试能力。

平行越权和垂直越权是越权漏洞的两种主要类型:

平行越权:指攻击者通过伪造或篡改身份认证信息,绕过通常的权限检查,以某个已授权用户的身份执行某些操作。攻击者可以访问另一个已授权用户具有相同权限的资源,从而获取对这些资源的非授权访问。

垂直越权:指攻击者通过伪造或篡改身份认证信息,将自己的权限提升至比当前授权用户更高的等级,以执行超出其正常权限的操作。例如,攻击者可能会利用垂直越权漏洞访问管理员权限,从而修改系统设置或访问敏感数据等。

平行越权的场景都是修改一些用户ID等参数进行越权

垂直越权的场景都是修改用户ID=1或者roleId等参数进行越权。

下面就由作者给大家带来一篇比较不常见又很简单垂直越权案例

自定义构造参数进行垂直越权

首先看这个数据包有几个点可能存在,比如Cookie中的userType或者data里面的parenUserId。

userType直接淘汰就是一个默认参数没任何作用。

parenUserId参数可能存在越权但是32位的字符无法获取也不是数字ID直接进行md5加密。

自定义构造参数进行垂直越权

这个数据包使用parenUserId查询个人信息,返回了userid、手机号码等数据。但由于这些数据无法被我们直接遍历所以没有利用价值。

那这个时候就只有roleId身份标识ID我们看的懂也容易进行利用。

当时我就产生了一个想法把parenUserId替换成roleId来尝试一下请求是否能获取到个人信息

自定义构造参数进行垂直越权

那这个时候竟然成功了并且返回了所有roleId为2460的用户信息。

自定义构造参数进行垂直越权

得到了所有用户信息,那这个时候再想还能不能进一步利用。

然后继续抓包发现有一个可以获取密码的接口,是利用userId获取密码,而userId可以利用上一个接口来获取

自定义构造参数进行垂直越权

直接去cmd5进行解密得到了密码

自定义构造参数进行垂直越权

以后遇到类似的情况时,我们可以通过替换一些关键参数来扩大测试范围,有可能找到更多的漏洞和攻击面。

原文始发于微信公众号(安全无界):自定义构造参数进行垂直越权

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年10月19日14:53:03
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   自定义构造参数进行垂直越权http://cn-sec.com/archives/2126202.html

发表评论

匿名网友 填写信息