이 문제는 Webhacking.kr 에서 500점인 문제인데 한 번 도전해보고 싶어서 해봤다.



게시판들을 보다가 코드를 까보니 admin이라는 페이지가 있어서 들어가봤다.

들어갔더니 다음과 같은 페이지가 나왔다.

당연히 비밀번호를 모르기에 찾아보던 중

mainpage 에서 아래와 같은 주석을 발견했다.


쿠키를 보니 time 이라는 이름의 쿠키가 있었다.



여기서 어떻게 해야되는 지 고민하다가 찾아보니 쿠키나 세션 또한 데이터베이스에 저장할 수 있다고 한다.

그래서 여기에 True/False 에 따른 변화를 보기 위해 다음과 같이 입력해보니

참일때에는 다음과 같이


주석 내의 시간이 이렇게 변했고,

거짓일때에는 다음과 같이

이렇게 변했다.


이 문제에는 암호를 입력해야 되는 페이지가 2개 있었는데

하나는 Board, 다른 하나는 Admin 이었다.

그래서 이걸 이용해서 이 둘의 password 를 알아내기로 했다.

일단 각 Password의 길이를 알아내기 위해 다음과 같은 방법으로 찾아보니

freeboard 는 9 글자, Admin 은 10 글자였다.



여기서 table 명은 board 페이지에 들어가면



이렇게 나와있어서 위와 같이 했고, admin 은 별다른 힌트가 없어서 admin 이라고 했다.

( 찾아보니 예전에는 힌트로 Table 명을 제공했다고 한다. )

( 이 외에 Table 명 Column 명을 알아내는 방법을 찾아봤는데 Union 으로 찾을 수 있다고 하는데 직접 해보니까 안 되서 그냥 안 했다. )


그래서 다음과 같은 사이트에서 코드를 가져와서 돌려봤다.

http://rootnix.in/80

코드는 다음과 같고


실행해보니 다음과 같이 20분 정도 걸려서 비밀번호가 나왔다.



admin page 에 비밀번호를 입력하니 다음과 같이 나왔고


Free Board 게시글에 비밀번호를 입력하니 다음과 같이 다운 받을 수 있는 파일이 나와서 다운을 받았다.



압축 해제를 하니 manual.html 의 암호를 입력하라는 창이 나왔고,

admin page 에서 얻은 암호를 입력하니 다음과 같은 html 파일이 나왔다.




manual.html 파일을 열어보니 다음과 같이 Auth Key 가 나왔다.



500점 짜리 성공! 



난이도 자체는 Suninatas 22번, 23번이랑 비슷한 것 같다.


프록시 툴 사용을 마쳤다면 원래대로 설정해놓자.




'Hacking > Web Hacking' 카테고리의 다른 글

Webhacking.kr 14번 문제  (0) 2018.09.18
Webhacking.kr 15번 문제  (0) 2018.09.18
Webhacking.kr 1번 문제  (0) 2018.09.18
Suninatas 8번 문제  (0) 2018.09.09
Suninatas 7번 문제  (0) 2018.09.07