웹해킹
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