https://webhacking.kr/challenge/web-07/ 쿼리의 결과값인 $data[0]의 값이 2가 나와야 해결된다. 그러면 GET 방식으로 전달되는 $val 의 값이 2가 되면 될텐데, 정규표현식(Preg_match)로 2를 쓰는 게 막혀있다.
그러면 Mysql의 수학 내장함수 중 제곱근 값을 돌려주는 SQRT를 사용해서, 2를 SQRT(4)로 표현하자. query error 라니... 애시당초 테이블에 lv 값이 2인 튜플은 없었던 것이다...
그렇다면 SQL Injection으로 풀이 방향을 잡고, NULL 인 테이블에다 2 값을 가지는 테이블을 UNION 해주자. SQRT(4))UNION(SELECT(SQRT(4)) 앞서 봤듯 lv=2 인 쿼리는 NULL 값을 만들어낸다.
거기에 UNION으로 튜플 값이 2인 걸 합친다. 띄어쓰기..........