nightmare
이번 문제의 포인트는 pw=('{$_GET[pw]}') 부분에 임의의 페이로드를 삽입하여 $result['id'] 값이 존재하도록 유도하는 부분이다.
현재 pw 파라미터는 길이 제한(6)이 있기 때문에 이를 초과하지 않도록 주의하며 우회 구문 (공격 페이로드) 삽입이 필요하다.

MySQL의 WHERE 절에서는 괄호() 안의 값을 연산할 때 (”) 는 false 값을 나타내며 이는 정수로 0과 동일하다.
여기서 pw=('')=0 은 패스워드가 빈 문자열(”)이 아닌(=0) 것을 찾는다는 의미다.
이후에 실행되는 and id!='admin' 문자는 필요하지 않으므로 NULL 처리를 진행해주면 문제 클리어가 가능하다.
(주석 처리를 하기 위해서는 # 문자 혹은 - 문자를 사용해야 하는데 현재 필터링을 하고 있기 때문에 사용 불가능하여 NULL 문자로 대체했다.)
(MySQL 에서는 NULL(%00) 문자 뒤에 오는 값은 무시된다. 실행되지 않는다.)
https://los.rubiya.kr/chall/nightmare_be1285a95aa20e8fa154cb977c37fee5.php?pw=%27)=0;%00

🐛.. 🐛.. 🐛..