Webhacking.kr 21번 문제 풀이


21번 문제는 보너스 문제라고 표시가 되어있다


웹 해킹 문제가 그렇듯이


대부분이 거기서 거기인듯하다..


한번 21번 문제를 클릭해보자



아래와 같은 화면을 볼 수 있다



일단 소스보기 부터 해보자



히든값으로 id와 pw도 입력한 no값과 함께 전달되는걸 알 수 있다


일단 입력 값부터 테스트해보자


0을 입력했을 때



반응 없음


1을 입력했을 때



Ture


2를 입력했을 때



Ture


3 이상을 입력했을 때



False


1과 2를 입력했을 때만 Ture가 나오는걸 볼 수 있다


필터링 되는 단어가 있는지 테스트 하고



Blind SQL Injection 테스트를 해본다


1 and 1=0 을 입력했을 때



False


1 and 1=1을 입력했을 때



True


이로써 Blind SQL Injection을 실행할 수 있게 되었다


if, in, select, ord, substr 을 이용하여 True가 나오는 값을 찾아냈다


no=1일 때 id 값



no=2일 때 id 값



no=1일 때 pw 값



no=2일 때 pw 값



여기서 admin 의 pw 값이 답이다


찾아낼때 사용한 파이썬 코드


Wargame21.zip


Auth 페이지로 이동하여 찾아낸 답을 입력하면



21번 문제도 클리어 된다~!