One_Blog

Lord of SQL Injection - giant 풀이 본문

웹해킹

Lord of SQL Injection - giant 풀이

0xOne 2023. 2. 23. 22:47
728x90

 

소스코드

소스코드는 다음과 같다.

 

Query문의 결과가 1234가 나오면 문제가 풀린다.

 

그런데 Query를 보니, 

 

SELECT 1234  fromprob_giant where 1

 

인데, 해당 Query문은 아무 값을 집어넣지 않아도 1234를 결과값으로 불러오게 된다.

 

그러나 from 과 prob_giant가 띄어쓰기 없이 붙어있어서 

 

제대로 Query문이 작동하지 않는다.

 

우리는 여기서 from과 prob_giant 사이에 문자열을 집어넣을 수 있다.

 

문제를 풀기 위해선 from과 prob_giant 사이에 공백을 집어넣어야 하는데,

 

필터가 대부분의 공백을 막고 있다.

 

white space, \n, \r, \t , / 등등 대부분 공백 필터링에 사용할 수 있는 문자가 필터링 되어있다.

 

하지만 우리에겐 %를 이용한 공백 우회 방식이 있다.

 

%0c,%0b등 공백을 대신할 수 있는 문자를 삽입하면, 공백 필터링을 쉽게 우회할 수 있다.

 

 

gg