<CTF>/<Lord of SQLInjection>
[06] darkelf :: Lord of SQLInjection
meow00
2021. 3. 24. 19:51
문제의 소스코드를 한 번 살펴보려고 한다.
if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~");
if(preg_match('/or|and/i', $_GET[pw])) exit("HeHe");
이 부분을 보면 or와 and가 필터링되고 있다.
이런 경우, 연산자를 사용해주면 된다.
or를 대신해 || ,
and를 대신해 && 를 사용해주면 된다.
$query = "select id from prob_darkelf where id='guest' and pw='{$_GET[pw]}'";
입력받는 쿼리문의 형태이다.
pw를 get 방식으로 받아주는걸 알 수 있다.
그냥 간단하게 풀던 방법에서 or 대신에 ||를 사용해주면 될 것이다.
이렇게 제출을 해주면,
Clear
반응형