Account Takeover
권한 문제
계정의 이메일을 변경하려고 시도하고 확인 프로세스를 조사해야 합니다. 약점이 발견되면 의도한 피해자의 이메일로 변경한 후 확인해야 합니다.
유니코드 정규화 문제
의도한 피해자
victim@gmail.com
의 계정유니코드를 사용하여 계정을 생성해야 합니다 예:
vićtim@gmail.com
자세한 내용은 유니코드 정규화 문서를 참조하세요:
재사용 가능한 재설정 토큰
대상 시스템이 재설정 링크를 재사용 허용하는 경우 gau
, wayback
, 또는 scan.io
와 같은 도구를 사용하여 더 많은 재설정 링크를 찾아야 합니다.
계정 탈취 전 사전 조치
피해자의 이메일을 사용하여 플랫폼에 가입하고 비밀번호를 설정해야 합니다 (피해자의 이메일에 액세스할 수 없는 경우 이를 불가능하게 할 수 있습니다).
피해자가 OAuth를 사용하여 가입하고 계정을 확인할 때까지 기다려야 합니다.
일반 가입이 확인되어 피해자의 계정에 액세스할 수 있기를 희망합니다.
CORS 구성 오류로 인한 계정 탈취
페이지에 CORS 구성 오류가 포함되어 있는 경우 사용자로부터 민감한 정보를 훔쳐 계정을 탈취하거나 인증 정보를 변경할 수 있을 수 있습니다:
pageCORS - Misconfigurations & BypassCsrf를 통한 계정 탈취
페이지가 CSRF에 취약하면 사용자가 비밀번호를 수정하거나 이메일 또는 인증을 변경할 수 있어서 그 후 액세스할 수 있을 수 있습니다:
pageCSRF (Cross Site Request Forgery)XSS를 통한 계정 탈취
응용 프로그램에서 XSS를 찾으면 쿠키, 로컬 저장소 또는 웹 페이지에서 정보를 훔쳐 계정을 탈취할 수 있을 수 있습니다:
pageXSS (Cross Site Scripting)동일 출처 + 쿠키
제한된 XSS 또는 서브도메인 탈취를 찾으면 쿠키를 조작하여 피해자 계정을 침해하려고 시도할 수 있습니다 (예: 쿠키를 고정화):
pageCookies Hacking비밀번호 재설정 메커니즘 공격
pageReset/Forgotten Password Bypass응답 조작
인증 응답이 간단한 부울로 줄어들 경우 false를 true로 변경하여 액세스를 확인해 보세요.
OAuth를 통한 계정 탈취
pageOAuth to Account takeover호스트 헤더 삽입
비밀번호 재설정 요청 시작 후 호스트 헤더가 수정됩니다.
X-Forwarded-For
프록시 헤더가attacker.com
로 변경됩니다.호스트, 리퍼러 및 오리진 헤더가 동시에
attacker.com
로 변경됩니다.비밀번호 재설정을 시작한 후 메일을 다시 보내기를 선택하면 위의 세 가지 방법이 모두 사용됩니다.
응답 조작
코드 조작: 상태 코드가
200 OK
로 변경됩니다.코드 및 본문 조작:
상태 코드가
200 OK
로 변경됩니다.응답 본문이
{"success":true}
또는 빈 객체{}
로 수정됩니다.
이러한 조작 기술은 JSON이 데이터 전송 및 수신에 사용되는 시나리오에서 효과적입니다.
현재 세션의 이메일 변경
이 보고서에서:
공격자는 새 이메일로 이메일 변경을 요청합니다.
공격자는 이메일 변경을 확인하는 링크를 받습니다.
공격자는 피해자에게 링크를 보내어 클릭하도록 유도합니다.
피해자의 이메일이 공격자가 지정한 이메일로 변경됩니다.
공격자는 비밀번호를 복구하고 계정을 탈취할 수 있습니다.
이는 이 보고서에서도 발생했습니다.
참고 자료
Last updated