wargame/Lord Of SQL Injection

[LOS] ouroboros

LimeLee 2018. 8. 9. 00:58

$password=md5('Ourob0rus_c4taphractus');공개



소스코드 분석


 <?php
  include "./config.php";
  
login_chk();
  
dbconnect();
  if(
preg_match('/prob|_|\.|rollup|join|@/i'$_GET['pw'])) exit("No Hack ~_~");
  
$query "select pw from prob_ouroboros where pw='{$_GET[pw]}'";
  echo 
"<hr>query : <strong>{$query}</strong><hr><br>";
  
$result = @mysql_fetch_array(mysql_query($query));
  if(
$result['pw']) echo "<h2>Pw : {$result[pw]}</h2>";
  if((
$result['pw']) && ($result['pw'] === $_GET['pw'])) solve("ouroboros");
  
highlight_file(__FILE__);
?>

문제 내용은 간단하다

pw 파라미터 값과 결과 값과 같은 값이 나오면 된다.

하지만 prob_oroboros 테이블에는 데이터가 없다.


최소 union을 통해 값을 만들어 내야 하는데.. 입력 값와 결과 값이 같은 쿼리가 존재할까?  


문제 풀이



Thanks to kmon

https://www.shysecurity.com/post/20140705-SQLi-Quine


Codegate CTF 문제 심지어 페이로드도 같다!






'wargame > Lord Of SQL Injection' 카테고리의 다른 글

[LOS] alien  (0) 2018.08.19
[LOS] zombie  (0) 2018.08.18
[LOS] phantom  (0) 2018.08.09
[LOS] frankenstein  (0) 2018.08.09
[LOS] blue_dragon  (0) 2018.07.24