웹찢남

Alien-writeup 본문

WEB_HACKING/los.rubiya.kr

Alien-writeup

harry595 2020. 1. 30. 18:57

<?php
  
include "./config.php";
  
login_chk();
  
$db dbconnect();
  if(
preg_match('/admin|and|or|if|coalesce|case|_|\.|prob|time/i'$_GET['no'])) exit("No Hack ~_~");
  
$query "select id from prob_alien where no={$_GET[no]}";
  echo 
"<hr>query : <strong>{$query}</strong><hr><br>";
  
$query2 "select id from prob_alien where no='{$_GET[no]}'";
  echo 
"<hr>query2 : <strong>{$query2}</strong><hr><br>";
  if(
$_GET['no']){
    
$r mysqli_fetch_array(mysqli_query($db,$query));
    if(
$r['id'] !== "admin") exit("sandbox1");
    
$r mysqli_fetch_array(mysqli_query($db,$query));
    if(
$r['id'] === "admin") exit("sandbox2");
    
$r mysqli_fetch_array(mysqli_query($db,$query2));
    if(
$r['id'] === "admin") exit("sandbox");
    
$r mysqli_fetch_array(mysqli_query($db,$query2));
    if(
$r['id'] === "admin"solve("alien");
  }
  
highlight_file(__FILE__);
?>

 

 

ex1

 

ex2

위의 그림과 같이 id가 admin이여도 id가 admin이어도 3,4번째 조건때문에 solve를 할 수 없는 문제였다... 

결국 저 문제 말대로라면 같은 query를 사용하여 admin,not admin,not admin,admin의

순서대로 값이 나와야 한다...  조건문을 사용하려해도 내가 아는 조건문은 다 차단해놨다 ㅎ...

 

결국 구글링 후 sleep,now()를 통해 문제를 풀기로 했다.

둘을 사용하면 다음과 같은 쿼리를 보낼 수 있다.

CLEAR!!!

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

Death-writeup  (0) 2020.01.30
cthulhu-writeup  (0) 2020.01.30
Zombie-writeup  (0) 2020.01.30
ouroboros-writeup  (0) 2020.01.29
phantom-writeup  (0) 2020.01.29
Comments