본문 바로가기

wargame/LOS

[LOS]5번 WOLFMAN

WOLFMAN


5번 문제

<?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 ~_~"); // $_GET[pw]의 공백 필터링

  $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>"; // $result의 id가 존재한다면 Hello $result['id'] 출력
  if($result['id'] == 'admin') solve("wolfman"); // $result의 id가 admin이면 문제 해결

  highlight_file(__FILE__); 
?>



문제는 이전의 문제와 별 다를게 없지만 공백이 필터링 된다는 점이 다르다. 우선 공백 대신 %20 을 넣고 해보았다.

역시 실패.

그렇다면 다른 url escape code를 사용해보자. %0a (LINE FEED = new line)를 사용해보자.

성공!

그 외에 다른 것도 되는지 확인해보았다.
%09 (TAB) - 성공
주석 - 성공
+ - 실패 (white space로 인식한다)

'wargame > LOS' 카테고리의 다른 글

[LOS]7번 ORGE  (0) 2019.07.21
[LOS]6번 DARKELF  (0) 2019.07.21
[LOS]4번 ORC  (0) 2019.07.11
[LOS]3번 GOBLIN  (0) 2019.07.09
[LOS]2번 COBOLT  (0) 2019.07.09