CSRF 2

[Dreamhack] csrf-2

코드를 먼저 살펴 보자 유저에는 guest와 admin이 있다. admin 으로 로그인하면 플래그를 얻을 수 있다고 한다. 그럼 admin의 비밀번호를 얻어야 한다. 아래는 guest로 로그인했을 때 보이는 화면이다. csrf-1 를 풀었으면 조금만 응용해서 풀 수 있는 문제였다. ["frame", "script", "on"] 문자열이 * 로 치환되는 코드다. csrf-1과 마찬가지로 /vuln 페이지에서 태그를 사용해 서버로 요청해보니 잘 가는 것이 확인된다. (서버는 Dreamhack Tools를 사용했다.) pw 관련 코드는 /change_password 함수에서 볼 수 있었는데, pw 인자에 원하는 값을 주어 바꿀 수 있게 되어 있다. 그래서 공격 코드는 아래와 같이 구성했다. 페이로드를 날린 후..

Security/Write Up 2023.06.02

[Dreamhack] csrf-1

CSRF 란 클라이언트에서 사용자 권한을 이용해 다른 주소로 HTTP 요청을 보내는 취약점이다. XSS 와의 다른 점은 XSS는 세션과 쿠키 정보를 뺏는 것에 집중하지만, CSRF는 실제 클라이언트 사용자인 것처럼 다른 서버에 거짓 요청을 보낸다는 점이다. 먼저 app.py 파일 분석을 해보면 ["frame", "script", "on"] 문자열이 XSS 필터링되고 있다. 그럼 필터링 되지 않는 img 태그를 써볼 수 있을 것같다. Dreamhack Tools에서 제공해주는 서버로 img 태그를 써보니 GET 요청 성공 app.py 의 FLAG 호출 함수를 보면, /admin/notice_flag 위치에 userid가 admin일 때 memo에 쓰여지는 것을 알 수 있다. /flag 페이지에 쿼리 스트링..

Security/Write Up 2023.05.31
728x90