Admin page라는 문구와 auth 버튼이 보인다.
일단 view-source를 해보자
소스코드 내용은 다음과 같다.
- get 방식으로 val 값을 받아와 $go변수에 넣어준다.
- 숫자2, -, +, from, _, =, 공백, *, \를 필터링 하고 있다.
- sql 쿼리를 실행해서 결과가 2가 나오면 문제를 풀 수 있다.
select lv from chall7 where lv =($go)
만약 괄호가 한 개일 경우로 생각해보자.
$go 안에 숫자 2를 넣어야하므로 val=2를 생각해볼 수 있지만 필터링 때문에 제한된다.
그래서 5%3 같은 수식을 사용하는 방법이 있다.
하지만 5%3은 query errorr가 뜬다.
아마도 5%3을 문자열로 인식하기 때문이 아닐까 의심 할 수 있다.
그렇다면 union을 이용해서 하는 방법을 생각 할 수 있다. 여기서 공백은 필터링 되어있으므로 괄호를 이용하여 우회하면 된다.
그러면 성공적으로 쿼리가 완성되는 것을 볼 수 이다.
이제 새로고침을 해주면서 괄호가 한 번인 경우가 우연히 걸리면 문제를 풀 수 있다.