ZOMBIE ASSASSIN
16번 문제
<?php
include "./config.php";
login_chk();
dbconnect();
if(preg_match('/\\\|prob|_|\.|\(\)/i', $_GET[id])) exit("No Hack ~_~");
if(preg_match('/\\\|prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~");
if(@ereg("'",$_GET[id])) exit("HeHe");
if(@ereg("'",$_GET[pw])) exit("HeHe");
//싱글쿼터 필터링
$query = "select id from prob_zombie_assassin where id='{$_GET[id]}' and pw='{$_GET[pw]}'";
echo "<hr>query : <strong>{$query}</strong><hr><br>";
$result = @mysql_fetch_array(mysql_query($query));
if($result['id']) solve("zombie_assassin");
highlight_file(__FILE__);
?>
싱글쿼터가 필터링된 것을 제외하면 기본적인 sql 문제다.
전에 %00가 ereg함수가 특수문자를 필터링하는 것을 막는다고 배웠기 때문에 이를 이용해서 문제를 해결했다.
id에 '을 삽입할 수 있다.
'wargame > LOS' 카테고리의 다른 글
[LOS]18번 NIGHTMARE (0) | 2019.08.15 |
---|---|
[LOS]17번 SUCCUBUS (0) | 2019.08.09 |
[LOS]15번 ASSASSIN (0) | 2019.08.09 |
[LOS]14번 GIANT (0) | 2019.08.06 |
[LOS]13번 BUGBEAR (0) | 2019.08.06 |