목표 : admin 계정의 비밀번호를 바꾼후 로그인 하라!
<회원가입>
<회원가입> ID: james / pw : 123123 | <메인페이지> |
![]() |
![]() |
일단 회원가입을 해주었습니다.
마이페이지로 가서 비밀번호 변경 기능을 사용한 후 Burp 로 확인해주겠습니다.
<마이페이지>
(비밀번호 변경)
비밀번호 변경 : PW=159159 | 비밀번호 변경에 대한 응답 |
![]() |
![]() |
음.. 일단 POST 요청을 통해 회원정보 수정이 이루어지고있습니다.
이 요청을 GET 방식으로 바꿔서 똑같이 이루어지는지 확인해보겠습니다.
GET 방식으로 재요청 | 응답(성공) |
![]() |
![]() |
비밀번호 요청이 GET 요청으로 바꿔주어도 성공하는것을 보실수 있습니다.
그러면 이 요청을 변조하여 PW를 123123으로 다시 바꿔보겠습니다.
비밀번호 변경 요청(위조) : PW=123123 | 결과(성공) |
![]() |
![]() |
<GET 방식으로 요청이 가능함을 통해 링크를 통한 요청 위조가 가능함을 생각해볼수 있습니다.>
그러면 XSS 와 연계를 위해서 xss 취약점 포인트를 찾아주겠습니다.
<XSS 포인트 찾기>
(글쓰기 게시판)
게시판 글쓰기 | < > " ' 와 같은 특수문자 사용가능 확인 |
![]() |
![]() |
-특수문자가 사용한것을 확인하였으니 POC 코드를 삽입하여 자바스크립트가 사용가능한지 확인해주겠습니다.
POC 코드 삽입 | POC 코드 동작확인 |
![]() |
![]() |
POC 코드가 동작하는것을 확인하였습니다.
이제 저희는 자바스크립트와 HTML 구문을 마음껏 넣을 수 있습니다.
아까 GET 방식으로 요청위조가 가능하던것을 생각하면 , Img 태그를 활용하여 게시글의 접근하는 사용자에게 비밀번호 변경 요청을 유도할 수 있을것같습니다.
img 태그 삽입으로 CSRF 유도코드 | 게시글 화면 |
![]() |
![]() |
이 게시물에 접속하면 고양이 사진이 업로드중 문제가 있어서 안나온다고 생각할 것입니다.
하지만 저 IMG의 주소는 비밀번호 변경을 요청하는 코드로써 자신의 비밀번호가 바뀐지도 모르겠죠!
PW = 159159 로 바꾸라는 요청이 보내진것을 확인 |
![]() |
이제 이 게시물에 접근하는 사람들의 비번은 '159159'로 바뀔것 입니다.
james_admin 이 이 게시물에 접근하게 하여 비밀번호를 바꾼후 james_admin 의 아이디로 로그인해보겠습니다.
<관리자 아이디로 접속하기>
이제 로그인해주면?
무사히 플래그를 얻을수 있었습니다!
긴 글 읽어주셔서 감사합니다!
'워게임 문제풀이 > Segfault' 카테고리의 다른 글
<Segfault> 워게임 문제풀이 [CSRF-Get admin 3] (0) | 2024.07.07 |
---|---|
<Segfault> 워게임 문제풀이 [CSRF-Get admin 2] (0) | 2024.07.06 |
<Segfault> 워게임 문제풀이 [Steal Info] (0) | 2024.07.02 |
<Segfault> 워게임 문제풀이 [XSS Challenge] (1) | 2024.07.02 |
<Segfault> 워게임 문제풀이 [XSS 5](feat.자기반성) (0) | 2024.07.01 |