Wargame/Lord of SQL Injection

<Lord of SQL Injection> giant

지우친구 웅이 2021. 11. 15. 13:02

giant

GET 방식으로 전달받은 값의 길이가 1보다 크면 "No Hack ~_~"을 출력한다.

공백, \n, \r, \t를 필터링한다.

\n 줄 바꿈, 개행
\r 복귀(캐리지 리턴)
\t 수평 탭

 

shit은 from과 prob_giant사이에 들어간다.

우선 그냥 1을 입력해보면

from1prob_giant가 된다.

맨 처음 시도했던 방법은

?shit=%09prob_giant%23로 테이블을 새로 정하고, 뒷 부분은 주석으로 처리하려 했다.

하지만, 길이가 1보다 길어 "No Hack ~_~"을 출력한다.

 

이 문제는 그냥 from과 prob_giant 사이에 공백을 두면 된다.

먼저 %09를 사용해 ?shit=%09를 입력하면

"HeHe"를 출력한다. %09가 공백으로 처리되어 필터링 되는 것 같다.

공백은 %09말고도 %0a, %0b, %0c 등으로 대체할 수 있다.

 

따라서, ?shit=%0b를 입력하면

문제를 해결할 수 있다.