wargame/LOS
[LOS]5번 WOLFMAN
dndkdkdk
2019. 7. 12. 18:50
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로 인식한다)