[CTF] GET Admin 1

CHIKA·2024년 7월 8일
post-thumbnail

1. mypage.php 확인하기


ID : xcvb, PW : xcvb 로 회원가입 후 로그인

xcvb_admin 계정으로 로그인 해야하는데 비밀번호를 모른다.
비밀번호를 변경해서 admin 계정을 탈취해보자.

mypage 접속 후 비밀번호를 asdf 로 변경해보자.

2. Method 확인하기.



POST로 전송되고 있다. GET방식으로 전송이 되면 url만으로도 공격이 가능해서 수월해지니
repeater로 넘겨서 GET으로도 전송이 되는지 확인해보자.

GET방식으로도 전송이 가능하다.
이 URL로 접속해보자.

http://ctf.segfaulthub.com:7575/csrf_1/mypage_update.php?id=&info=&pw=asdf

회원정보에 수정했다는 창이 뜬다.
관리자가 이 링크를 누르면 바로 알아채고 비밀번호를 바로 바꿀거다.

URL을 바로 전송하는 대신 XSS 취약점을 찾아보자.

3. XSS 취약점 찾기


게시판에 글 부터 작성해보자.
특수문자 삽입가능 여부 확인 위해 제목, 내용에 test<'"> 입력.

HTML Entity로 치환되지 않고 그대로 입력된다.

4. CSRF 공격


img 태그를 이용해서 비밀번호를 1234로 바꾸는 요청을 해보자.

<img src="http://ctf.segfaulthub.com:7575/csrf_1/mypage_update.php?id=&info=&pw=1234">

▼ 게시글 확인

게시글을 클릭하면 비밀번호 변경 요청이 함께 간다.

로그아웃 후 재로그인 시 변경한 비밀번호인 1234로 로그인이 가능하다.

5. 관리자계정 탈취


해당 게시글 링크를 관리자 봇에게 보내자.

http://ctf.segfaulthub.com:7575/csrf_1/notice_read.php?id=641&view=1

ID : xcvb_admin , PW : 1234 입력

관리자계정 탈취 성공!

0개의 댓글