이제 웹해킹 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

+ Recent posts