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 |