-
[Easy] PostbookWargame/Hacker101 CTF 2020. 4. 4. 02:28
# Flag 0
가입 후 로그인하면 사용자가 'user'와 'admin'이 있다는 것을 확인할 수 있다.
아이디와 비밀번호를 쉽게 설정하는 경우가 있기 때문에 아래와 같이 로그인을 시도해보았다.
- username : admin, password : admin
- username : user, password : pass/passwd/passwordusername : user, password : password로 로그인이 가능하고 Flag가 주어진다.
사실 이 풀이는 hint를 보고 풀어본 방식이다.
나는 Flag5를 얻는 방식으로 user의 계정을 탈취한 후, 비밀번호를 변경하고 로그인하여 Flag를 얻었다.
# Flag 1
글을 읽어보면 id값이 파라미터로 주어지는데, user의 글은 id=3이고 내가 쓴 글은 id=4, 5로 1씩 증가한다.
id=2인 글이 없는 게 수상하기 때문에 ?page=view.php&id=2로 접근하였더니 Flag를 얻을 수 있었다.
# Flag 2
글을 작성할 때 request를 잡아보면 다음과 같다.
user_id = 3이다.
user_id를 3이외의 값으로 변경하면 해당 유저의 권한으로 글을 작성할 수 있고, Flag가 주어진다.
user_id = 1로 변경하였더니, admin의 권한으로 글이 작성되었다.
# Flag 3
Hint : 189 * 5
이 Flag는 힌트 없이는 풀지 못하였다.
힌트를 보고 느낌적으로 189 * 5 = 945이기 때문에 945번째의 글로 접근하였더니 Flag를 얻었다.
?page=view.php&id=945
# Flag 4
글을 작성하면 edit과 delete가 가능한데, 글을 수정하는 페이지에도 id 값이 파라미터로 전송된다.
내가 작성한 글의 id값이 아닌, 다른 글의 id값인 1로 변경하면 아래와 같이 admin의 글을 수정할 수 있다.
글을 수정한 후 저장하면 정상적으로 글이 수정되고, Flag가 주어진다.
# Flag 5
cookie 값을 살펴보니 id라는 이름의 쿠키가 32글자의 임의의 문자열로 설정되어 있다.
32글자는 보통 MD5 Hash 값이다.
나의 user_id 값인 3의 MD5 Hash 문자열을 생성해보니 쿠키 값의 문자열과 같다.
[MD5 Hash Generator] http://www.md5hasher.net/
아래와 같이 1의 MD5 Hash 값으로 cookie 값을 설정해보았더니,
admin의 계정을 탈취하여 admin의 글을 수정, 삭제할 수 있고 Flag가 주어진다.
# Flag 6
delete를 누르면 ?page=delete.php&id=a87ff679a2f3e71d9181a67b7542122c로 request를 보낸다.
이때 전송되는 글의 id값도 32글자로, MD5 Hash 값이다.
따라서, user 글의 id 값인 3의 MD5 Hash 값으로 삭제 요청을 전송해보았다.
?page=delete.php&id=eccbc87e4b5ce2fe28308fd9f2a7baf3
user의 글이 삭제되고, Flag가 주어졌다.
'Wargame > Hacker101 CTF' 카테고리의 다른 글
[Moderate] Micro-CMS v2 (0) 2019.06.21 [Easy] Micro-CMS v1 (0) 2019.06.13 [Trivial] A little something to get you started (0) 2019.06.13 댓글