wargame ๐Ÿด‍โ˜ ๏ธ write-up/Lord of SQLInjection

goblin

Kortsec1 2022. 4. 2. 16:00
<?php 
  include "./config.php"; 
  login_chk(); 
  $db = dbconnect(); 
  if(preg_match('/prob|_|\.|\(\)/i', $_GET[no])) exit("No Hack ~_~"); 
  if(preg_match('/\'|\"|\`/i', $_GET[no])) exit("No Quotes ~_~"); 
  $query = "select id from prob_goblin where id='guest' and no={$_GET[no]}"; 
  echo "<hr>query : <strong>{$query}</strong><hr><br>"; 
  $result = @mysqli_fetch_array(mysqli_query($db,$query)); 
  if($result['id']) echo "<h2>Hello {$result[id]}</h2>"; 
  if($result['id'] == 'admin') solve("goblin");
  highlight_file(__FILE__); 
?>

no ๊ฐ’์— ์—ฌ๋Ÿฌ ์ˆซ์ž๋ฅผ ๋„ฃ์–ด๋ดค๋”๋‹ˆ guest : 1 ์ž„์ด ํ™•์ธ๋ฌ๋‹ค.

no ๊ฐ’์— ์•„๋ฌด๋Ÿฐ ๋”ฐ์˜ดํ‘œ๊ฐ€ ์—†์œผ๋ฏ€๋กœ, ํŽธํ•˜๊ฒŒ ๋’ท ๋ฌธ์žฅ์„ ๋งŒ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.

*์ฐธ๊ณ ๋กœ and๋กœ ๋ฌถ์ธ ์กฐ๊ฑด์ด ๊ฑฐ์ง“์ด ๋˜์–ด์•ผ ํ•˜๋‹ˆ 1์ด ์•„๋‹Œ ์•„๋ฌด ์ˆซ์ž๋ฅผ ๋„ฃ๊ณ  ๋งŒ๋“ค์–ด๊ฐ€์ž

 

ํ•˜์ง€๋งŒ ์ž‘์€ ๋”ฐ์˜ดํ‘œ๋ฅผ ํ•„ํ„ฐ๋ง ํ•˜๊ณ ์žˆ์–ด, id='admin'๊ณผ ๊ฐ™์€ ๊ฐ’์€ ๋ณด๋‚ด์ง€ ๋ชปํ•œ๋‹ค.

๊ทธ๋ ‡๋‹ค๋ฉด ๋” ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•. no๋ฅผ ์ด์šฉํ•ด๋ณด์ž

 

?no=2 or no=2

๊ทธ๋ฆผ1 ํ•ด๊ฒฐ

'wargame ๐Ÿดโ€โ˜ ๏ธ write-up > Lord of SQLInjection' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

wolfman  (0) 2022.04.02
orc  (0) 2022.04.02
cobolt  (0) 2022.04.02
gremlin  (0) 2022.04.02