Tyojong

[LOS] giant 본문

web/LOS

[LOS] giant

Tyojong 2025. 8. 11. 21:44
<?php 
  include "./config.php"; 
  login_chk(); 
  $db = dbconnect(); 
  if(strlen($_GET[shit])>1) exit("No Hack ~_~"); 
  if(preg_match('/ |\n|\r|\t/i', $_GET[shit])) exit("HeHe"); 
  $query = "select 1234 from{$_GET[shit]}prob_giant where 1"; 
  echo "<hr>query : <strong>{$query}</strong><hr><br>"; 
  $result = @mysqli_fetch_array(mysqli_query($db,$query)); 
  if($result[1234]) solve("giant"); 
  highlight_file(__FILE__); 
?>

 

문제 목표

if($result[1234]) solve("giant");

1234를 출력하면 문제가 해결된다.

 

if(strlen($_GET[shit])>1) exit("No Hack ~_~");

한글자만 허용하며

if(preg_match('/ |\n|\r|\t/i'$_GET[shit])) exit("HeHe");

공백, \n, \r, \t 를 필터링한다.

 

문제 해결

from과 테이블명 사이에 공백만 주면 1234가 출력되어 해결된다.

필터링되는 개행, 공백 제외 아스키코드표를 보니 사용할 수 있는것을이 있다. %이후 아스키값을 보내면 사용할 수 있다.

Vertical Tab을 사용해 문제를 해결할 수 있다.

?shit=%0B

'web > LOS' 카테고리의 다른 글

[LOS] succubus  (0) 2025.08.13
[LOS] assassin  (0) 2025.08.12
[LOS] bugbear  (0) 2025.08.09
[LOS] darkknight  (0) 2025.08.08
[LOS] golem  (0) 2025.08.06