url 뒤에 ?no=1을 넣어주었더니 아래와 같이 no 뒤 값이 1로 바뀌었으며 'Hello guest'라는 문구가 떴다.

 

 그리고 이 문제에서 preg_match함수를 이용해 ' " 등을 우회하고 있음을 알 수 있다.  따라서 우회를 피하기 위해 16진수로 변환해주어야 한다. admin은 16진수로 0x61646D696E이다.

 

 공격을 성공하기 위해서는 id를 admin으로 바꿔주어야 하는데 현재 id가 guest이므로 이를 바꿔주기 위해 guest에 해당하는 no를 제외하고 넣어주어야 한다. 

 

 따라서 아래와 같은 입력을 해주었다.

<입력값>
?no=1111 or id=0x61646D696E

 

이를 통해 공격에 성공할 수 있었다.

'Web Hacking > Lord of SQL Injection' 카테고리의 다른 글

[Lord of SQL Injection] darkelf  (0) 2022.05.28
[Lord of SQL Injection] wolfman  (0) 2022.05.21
[Lord of SQL Injection] orc  (0) 2022.05.14
[Lord of SQL Injection] cobolt  (0) 2022.04.29
[Lord of SQL Injection] gremlin  (0) 2022.04.02

 

이전 문제와 동일한 입력인 ?id=' or 1=1%23 을 써주었더니 아래와 같은 화면이 떴다.

 

코드를 자세히 살펴보았다.

if($result['id'] == 'admin') solve("cobolt");
  elseif($result['id']) echo "<h2>Hello {$result['id']}<br>You are not admin :(</h2>"; 
  highlight_file(__FILE__);

여기서 id가 admin이면 solve를 할 수 있고, 그렇지 않으면 위 공격에 실패한 사진과 같이 'Hello {id} You are not admin :(' 이 뜨도록 되어있었다.

 

따라서 공격에 성공하기 위해 id에 admin을 넣어주어야 한다. 그리고 gremlin에서처럼 뒷 내용을 주석처리화 해주기 위해 %23(#)을 넣어주어야 한다. 

-> ?id=admin ' %23

을 입력해주었더니 아래와 같이 성공할 수 있었다.

'Web Hacking > Lord of SQL Injection' 카테고리의 다른 글

[Lord of SQL Injection] darkelf  (0) 2022.05.28
[Lord of SQL Injection] wolfman  (0) 2022.05.21
[Lord of SQL Injection] orc  (0) 2022.05.14
[Lord of SQL Injection] goblin  (0) 2022.05.07
[Lord of SQL Injection] gremlin  (0) 2022.04.02

preg_match()
: 인자로 전달받은 정규표현식과 일치하는 패턴을 검색하는 php 함수

정규 표현식
: 문자열 바탕으로 검색해 패턴과 일치하는지 조사하고, 분할하는 문자열 처리 방법
//preg_match 함수 사용방법

<?php
   preg_match('/대조 할 문자/','입력한 문자', $matches); 
?>

 

이 문제에서는 get 방식으로 id와 pw를 입력받는다.

DB 속 id와 pw가 일치한다면($result가 참일 경우) solve("gremlin")을 수행한다.

 

따라서 id=1&pw=1이 되면 참이 될 것이다. 

-> ?id=' or 1=1%23

'or 1=1을 통해 where절을 참으로 만들고, %23(#)을 통해 뒷 내용을 주석처리화 해준다.

 

'Web Hacking > Lord of SQL Injection' 카테고리의 다른 글

[Lord of SQL Injection] darkelf  (0) 2022.05.28
[Lord of SQL Injection] wolfman  (0) 2022.05.21
[Lord of SQL Injection] orc  (0) 2022.05.14
[Lord of SQL Injection] goblin  (0) 2022.05.07
[Lord of SQL Injection] cobolt  (0) 2022.04.29

+ Recent posts