본문 바로가기

wargame/los.eagle-jump.org

wolfman

336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.



문제 이름 : wolfman


소스코드

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php 
  include "./config.php"
  login_chk(); 
  dbconnect(); 
  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]}'"
  echo "<hr>query : <strong>{$query}</strong><hr><br>"
  $result = @mysql_fetch_array(mysql_query($query)); 
  if($result['id']) echo "<h2>Hello {$result[id]}</h2>"
  if($result['id'== 'admin') solve("wolfman"); 
  highlight_file(__FILE__); 
?>
cs


요새 밤일을하느라 글을 자주못썻다.

 

잠이 안오는김에 졸릴때가지 풀엇던걸 포스팅해보려한다...

 

일단 위 문제를보면 id를 admin으로 인식하기만하면 클리어같다.

 

하지만 코드를보면 공백이들어가면 필터링이되어버린다.

 

그렇게되면 콤마를 닫고 새로운쿼를 써준다해도 공백을 넣을수 없기때문에 무용지물이다.

 

그래서 mysql에서 공백대신 사용이 가능한것들을 검색해보았다.

 

그랬더니 이정도의 자료를 찾앗다.

 

 \n(%0a), \t(%20), \r, %09, %0b, %0c, /**/, (), +

 

위값들은 모두 공백을 대신해 사용할수있는것들이다.

 

wolfman문제에서 사용해도 안먹히는 기법이있으니 알아서 찾아서 클리어해보도록하자.

 

 

'wargame > los.eagle-jump.org' 카테고리의 다른 글

orge  (0) 2017.07.03
darkelf  (1) 2017.07.03
orc  (0) 2017.06.18
goblin  (0) 2017.06.15
cobolt  (0) 2017.06.15