문제
페이지 소스코드

1) 입력한 값(no)은 GET 방식으로 전달된다.

2) no 에 # , select , ( , 공백 , limit , = , 0x 가 있으면 필터링된다.

3) 입력한 값은 select id from chall27 where id='guest' and no=           ←여기에 들어간다.

4) SQL Injection을 통해서 id가 'admin'일 때의 결과가 나오게 하면된다

 

1 입력
결과

no에 1을 입력하니 위와 같은 결과가 나왔다.

 

 

문제를 해결하기 위해 우리는 2) or no=2-- 에 해당하는 값을 입력해야 한다.

 

URL 필터링을 우회+문제 풀이를 위해 아래와 같이 작성했다.

 

  • 첫 번째 시도 : no=2%29%09or%09no%09%3D2--
  • 두 번째 시도 : no=2%29%09or%09no%09like%092--
  • 세 번째 시도 : no=2%29%09or%09no%09like%092--%09

 

=를 우회하기 위해 %3D를 입력했는데 계속해서 no hack이 떠서

like를 이용했다. 그치만 query error가 계속 떠서

혹시나 하는 마음에 맨 뒤에 공백을 하나 더 넣었더니 풀렸다.

 

성공

+ Recent posts