이제 웹해킹 2번 문제이다.
우선 문제가 참 다양한 것 같다.
우선 소스를 좀 보기로 한다.
소스를 보니 주석 처리되어진 부분이 눈에 보인다.
아마 저 값이 해법을 쥐고 있을 것 같다.
그리고 쿠키값을 보니 time 에 값이 있다.
하지만 접근 방법을 모르겠어서 힌트를 보았다.
time 값 과 소스에서의 주석값이 힌트라고 하여
값에다 blind sql injection을 해 보았다.
그랬더니 주석값은
<! 2070-01-01 09:00:01 -->라고 나왔다.
또 거짓값을 넣어보았더니
주석값이
<! 2070-01-01 09:00:00 -->으로 나왔다.
참인지 거짓인지로 주석값이 바뀌는 것을 알 수 있었다!
그 다음 소스값에서 우리는 admin페이지가 있을 것을 알 수 있었고
admin페이지에서 암호를 풀어야 한다
또 board에서 게시글에 들어가 보니 패스워드를 입력해야 하는 창이 있었다.
이것들로 보았을 때 암호문 2개를 풀어야하고 아마 blind sql injection 이 될 듯 하다.
우선 admin의 password의 길이값을 알기위해 넣어 보았더니 8은 아니었다.
그런식으로 넣다보니 10을 넣었을 때
길이 값이 10이라는 신호를 주석이 알려주었다.
하지만 admin이라는 테이블 이름은 나와있었지만 board게시글의 테이블 이름을 알수없어서 검색을 해 보았더니
예전에는 FreeB0aRd 라고 힌트가 있었다고 한다.
같은 방식으로 FreeB0aRd의 길이는 9라는 것을 알 수 있었다.
하지만 이것은 너무 오랜 작업이 될 것 이므로
파이썬코딩으로 FreeB0aRd의 비밀번호를 알아보자!
http://lureout.tistory.com/486 를 참조해서 코드를 짰다.
그렇게 하면 보드의 비밀번호가 나온다
이렇게 하면 admin manual이라는 참조 파일을 다운받을 수 있다.
또 admin 페이지에서 위의 파이썬 코드를 주소만 바꾸어 넣어 보면 admin페이지의 비밀번호를 얻을 수 있다
이렇게 하면 첨부파일에 걸린 비밀번호를 풀수있는 비밀번호를 얻을 수 있다!
압축을 풀면 flag 획득!
클리어!!
'WebHacking > Webhacking.kr' 카테고리의 다른 글
Webhacking.kr 14번 (0) | 2017.09.23 |
---|---|
Webhacking.kr 17번 (0) | 2017.09.14 |
Webhacking.kr 15번 (0) | 2017.09.14 |
Webhacking.kr 1번 (0) | 2017.09.10 |
webhacking 가입 (0) | 2017.09.10 |