늘모자란, 개발 :: [wargame.kr] Challenge 9 - md5 password

늘모자란, 개발

md5('value', true);


우리는 이 문제를 본적이 있다. 바로 이 문제 이다.

 <?php
 if (isset($_GET['view-source'])) {
  show_source(__FILE__);
  exit();
 }

 if(isset($_POST['ps'])){
  sleep(1);
  mysql_connect("localhost","md5_password","md5_password_pz");
  mysql_select_db("md5_password");
  mysql_query("set names utf8");
  /*
  
  create table admin_password(
   password char(64) unique
  );
  
  */

  include "../lib.php"; // include for auth_code function.
  $key=auth_code("md5 password");
  $ps = mysql_real_escape_string($_POST['ps']);
  $row=@mysql_fetch_array(mysql_query("select * from admin_password where password='".md5($ps,true)."'"));
  if(isset($row[0])){
   echo "hello admin!"."<br />";
   echo "Password : ".$key;
  }else{
   echo "wrong..";
  }
 }
?>
<style>
 input[type=text] {width:200px;}
</style>
<br />
<br />
<form method="post" action="./index.php">
password : <input type="text" name="ps" /><input type="submit" value="login" />
</form>
<div><a href='?view-source'>get source</a></div>


전체 쿼리가 나와 있지만, 사실 볼 필요는 없다. 우린 쿼리를 파괘하기 위해서 마법의 쓰레기 md5값을 넣어주면 해결 할 수 있다.
2016/06/08 14:09 2016/06/08 14:09