원문 : https://medium.com/@rat010/otp-verification-bypass-ee17d68f8425
취약점 및 방법
간단한 OTP 인증 우회입니다.
이메일 인증을 시도하면 이메일로 전송되는 OTP 코드를 입력해야합니다.
이때 올바른 인증인 경우 200 Created {} 가 응답으로 오게됩니다.
반대로 올바르지 않은 코드인 경우 400 Bad Request {“error”: “user_not_verified”} 가 응답으로 오게되는데,
이때 200 Created {}으로 응답을 변경해서 보내주면 정상적으로 인증되게 됩니다.
파급력
해당 취약점을 사용하면 임의의 이메일로 인증을 거치지 않은채 가입할 수 있게 됩니다.
그렇다면, 수 많은 부계정을 생성하거나 특정 이메일을 가입시켜 해당 사용자의 가입을 막을 수도 있을 것 같습니다.
원인
아마 OTP를 체크하는 로직이 front-end에서 응답이 200 인지 400인지 확인해서 다음으로 이동시키기 때문이라고 예상합니다.
'Security > Web' 카테고리의 다른 글
[Spamandhex 2020 Teaser] Journey #1 (XSS, Webauthn) (0) | 2020.05.15 |
---|---|
[SharkyCTF] XXExternalXX write-up (XXE) (0) | 2020.05.11 |
[버그바운티 write-ups] GitLab Path Traversal 취약점 (0) | 2020.05.07 |
[BSidesSF 2020 CTF] Recipes Write-up (0) | 2020.03.02 |
[BSidesSF 2020 CTF] SCP-1 Write-up (SCP bypass) (0) | 2020.02.27 |