old

Hack-me / Secret Garden (목록 검색을 이용한 blindsqlinjection)

nopdata 2016. 7. 22. 02:16

Secret Garden


웹해킹 문제이다. 웹쪽은 거의 문외한이기때문에 거의 답을 보다시피 하면서 풀었다.

http://blog.naver.com/withrubiya/70170416180


이 문제는 비밀글이나 내용 검색이 가능한 경우, 내용을 알아내는 공격이다. 최근 DB를 조금 다루다가 알게 되었는데 DB에도 검색기능이 있다. select * from table where colmn like %키워드%

이런식으로 하면 키워드에 해당하는 레코드를 얻을 수 있는데 여기서는 제로보드의 검색을 이용한다.

http://blog.naver.com/withrubiya/70170416180




검색부분이 가려져 있는데 Password is _로 검색을 한 결과이다. 네이버나 구글같은 검색엔진에서는 "검색은*다" 로 검색을 하면 "검색은 쉽다", "검색은 어렵다" 등 사이에 어떤 값이 들어가던지 맞기만 하면 검색이 된다.

여기서는 언더바('_')를 사용하는데 Password is 이후로 나올 답이 몇글자인지 알 수 없다.

답을 알기 위해서는 먼저 언더바를 하나씩 늘려가며 답의 길이를 알아내야 한다.


먼저 길이를 알아내기 위한 소스이다. 그냥 url에다가 언더바를 한개씩 늘려가며 연결을 하고 그 응답에 Notice가 들어가있다면 성공이 된 것이다. Notice라는 문구가 들어가있다는 것은 비밀글을 검색했다는 것이기 때문이다.

결과적으로 답의 길이는 총 24인것을 알아 냈으니 이제 답을 알아낼 차례이다.


답을 알아내기 위한 소스이다. 기본 url에다가 자리마다 테이블 내용으로 하나씩 바꿔가며 검색을 한다. 나머지 자리에는 언더바를 넣는 작업을 한다. 테이블 내용은 알파벳으로 정해 놓았는데 그 이유는 일단 특수문자까지 넣게 되면 너무 방대해 지기 때문에 알파벳만 넣어 보았고 검색을 했을때 소문자로 검색을 하던지 대문자로 검색을 하던지 결과는 같았기 때문이다.

위에서 만든 프로그램을 이용해 얻어낸 답은 divideandconquertheworld 이다.


Hack me Answer : divideandconquertheworld