Webhacking.kr 18번 문제 풀이


18번 문제 클릭



SQL INJECTION이라고 써 있다


index.phps 를 볼 수 있게 되어있으니 바로 클릭해보자



아래와 같이 no 라는 값을 전달 하는데


몇가지 문자는 필터링 되어있다


쿼리 문을 보면 id='guest' 라고 되어있는데


id가 admin이 되면 문제가 해결 될 거 같다



이것저것 SQL 인젝션을 시도 해봤지만 


그냥 숫자를 입력하다가


guest의 no 값이 1이라는걸 알아 낼 수 있었다



no가 0일 때 아무 반응 없음



no가 1일 때 hi guest 라는 문자가 출력된걸 볼 수 있었다



혹시 몰라서 2도 입력해봤지만



아래와 같이 hi guest라는 문자가 사라져있다



index.phps 에서 본 필터링에서


or은 사용할 수 있었던거 같으니


or을 사용해보자


no 값에 0 or 1을 입력해보았다


(그냥 스페이스바는 필터링 되기 때문에 URL 인코딩을 이용하여 %0A로 우회하였다)



아래와 같이 hi guest를 볼 수 있다


이렇게 or은 먹히는거 같다



그렇다면 어떻게 해야 admin이 될 수 있을까..


이것 저것 시도하다가 limit로 해결하였다




0 or 1 limit 1,1



아래와 같이 18번 문제가 클리어된다




limit나 union, substr 같은 해킹에 자주 쓰이는 쿼리 사용방법을 잘 익혀두자~