들어가보면 다음과 같은 화면이 나온다.
id값이 존재하면 gremlin은 풀릴것이라고 예상이 된다.
$_GET[id]와 $_GET[pw]를 통해서 id와 pw를 값을 받아올것인데 이때 query 문이 id="" and pw=""이므로 id와 pw값이 둘다 존재해야 될것이다.
따라서 sql의 가장 기본 구문 '1' or '1'='1'을 사용한다.
id값에는 아무거나 들어가면 참이 나온다. 근데 pw에는 아무거나 들어가면 참이 나오지 않는다. 따라서 pw = '1' or '1'='1' 이라고 작성을 하면 pw은 1이거나 1=1라는 것이다. 근데 1=1은 무조건 참이 되기 때문에 pw은 참이 될수 밖에 없다.
.php다음에 ?를 쓴다음 id=1&pw=1'or'1'='1이라고 작성하였다.(작은 따음표는 url인코딩 표에서 %27이다.)
pw=1'or'1'='1 와 같이 작성한 이유는 id와 pw가 작은 따음표로 묶여져 있는데 이를 맞추어주기 위해서 작성을 하였다.
아무튼 풀렸다.