Tyojong

[LOS] evil_wizard 본문

web/LOS

[LOS] evil_wizard

Tyojong 2026. 2. 5. 19:45
http://www.wechall.net
<?php
  include "./config.php";
  login_chk();
  $db = dbconnect();
  if(preg_match('/prob|_|\.|proc|union|sleep|benchmark/i', $_GET[order])) exit("No Hack ~_~");
  $query = "select id,email,score from prob_evil_wizard where 1 order by {$_GET[order]}"; // same with hell_fire? really?
  echo "<table border=1><tr><th>id</th><th>email</th><th>score</th>";
  $rows = mysqli_query($db,$query);
  while(($result = mysqli_fetch_array($rows))){
    if($result['id'] == "admin") $result['email'] = "**************";
    echo "<tr><td>{$result[id]}</td><td>{$result[email]}</td><td>{$result[score]}</td></tr>";
  }
  echo "</table><hr>query : <strong>{$query}</strong><hr>";

  $_GET[email] = addslashes($_GET[email]);
  $query = "select email from prob_evil_wizard where id='admin' and email='{$_GET[email]}'";
  $result = @mysqli_fetch_array(mysqli_query($db,$query));
  if(($result['email']) && ($result['email'] === $_GET['email'])) solve("evil_wizard");
  highlight_file(__FILE__);
?>

 

문제 목표

if(preg_match('/prob|_|\.|proc|union|sleep|benchmark/i'$_GET[order])) exit("No Hack ~_~");

이전 hell_fire 문제에서 sleep과 benchmark 필터링이 추가되었다. (나머지는 이전 문제와 동일)

 

문제 해결

이전 문제에서 time based를 이용해 해결하지 않았기 때문에 동일한 코드로 문제를 해결할 수 있다.

https://tyojong.tistory.com/78

 

[LOS] hell_fire

idemailscore"; $rows = mysqli_query($db,$query); while(($result = mysqli_fetch_array($rows))){ if($result['id'] == "admin") $result['email'] = "**************"; echo "{$result[id]}{$result[email]}{$result[score]}"; } echo "query : {$query}"; $_GET[email] =

tyojongblog.site

 

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

[LOS] hell_fire  (0) 2026.02.05
[LOS] dark_eyes  (1) 2026.02.04
[LOS] iron_golem  (0) 2026.02.03
[LOS] dragon  (0) 2026.01.30
[LOS] xavis  (2) 2026.01.27