[N0Named] board 풀이
문제 : 게시판에 불법 게시물이 올라왔다 삭제됐다. 범인의 id와 pw를 찾고 글의 내용도 조사하라.
boad.pcapng를 분석하기 위해 Wireshark를 사용하자.
삭제한 내용을 살펴보려고 맨 뒤에 쌓인 패킷부터 살펴봤다.
언뜻 보니 HTTP 프로토콜로 delete_done과 관련된 URL을 요청한다.
패킷의 추가 데이터는 존재하지 않아 위로 올라가자. 삭제 이전에 작성한 내용이 있을 것이다.
view도 있고
list도 있고
게시글 작성과 관련된 url write_chk.php를 발견했다.
HTTP 프로토콜 POST 메소드로 데이터를 전송하여 게시물을 작성했다.
HTML 양식의 컨텐츠 내용은 제목이 "flag 판매합니다"라는 게시물이며 내용을 보니
이전에 삭제한 경험이 있고, 이 문제의 flag 값도 나왔다. (개꿀)
위에서 (application/x-www-form-urlencoded) 라고 나와있는 것은 패킷에 따라오는 Content-type이다.
application/x-www-form-urlencoded은 &으로 분리되고, "="기호로 값과 키를 연결하는 key-value tuble로 인코딩된다.
밑에 패킷의 HTTP 헤더를 보면 Content-Type이 역시 application/x-www-form-urlencoded 으로 되어있다.
마지막 불법 게시물 올리기 전에 삭제한 내용도 찾아보자.
패킷 순서를 위로 타고 올라가면 또 삭제된 로그를 발견할 수 있다.
위로 타고 올라가면 삭제에 해당하는 write를 발견하고, flag 판매 첫 게시물을 찾을 수 있다.
아래 컨텐츠가 불법 게시물의 시초같다.
위로 더 타고 올라가면 login 기록이 있는데, 두 개의 불법 게시물을 올린 계정은 hacker이고 pw는 helloworld이다.
추가로 해당 계정이 맞는지 확인하려면 IP 혹은 User-Agent 그리고 cookie 등으로 검증 가능하다.
아래 두 source ip 주소는 10.0.2.15로 동일하다. => 동일 계정 확인
아래 두 User-Agent는 완전히 동일하다. => 동일 계정 확인
아래 두 Cookie 값은 완전히 동일하다. => 동일 계정 확인