관리 메뉴

HeeJ's

[06] darkelf :: Lord of SQLInjection 본문

<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