반응형
https://los.rubiya.kr
VAMPIRE
문제 소스:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
http://www.wechall.net
<?php
include "./config.php";
login_chk();
$db = dbconnect();
if(preg_match('/\'/i', $_GET[id])) exit("No Hack ~_~");
$_GET[id] = strtolower($_GET[id]);
$_GET[id] = str_replace("admin","",$_GET[id]);
$query = "select id from prob_vampire where id='{$_GET[id]}'";
echo "<hr>query : <strong>{$query}</strong><hr><br>";
$result = @mysqli_fetch_array(mysqli_query($db,$query));
if($result['id'] == 'admin') solve("vampire");
highlight_file(__FILE__);
?>
|
cs |
if(preg_match('/\'/i', $_GET[id])) exit("No Hack ~_~");
$_GET[id] = strtolower($_GET[id]);
$_GET[id] = str_replace("admin","",$_GET[id]);
따옴표가 발견되었을 때에는 exit을 통해 코드를 종료시켜버리지만,
"admin"이 발견되었다고 코드를 종료시키지는 않고, 해당 문자열을 ""로 치환시킨다.
(이전 문제 풀이 방식으로 대문자로 ADMIN을 입력하는 경우 strtolower함수에 의해 소문자로 치환되기 때문에, 사용할 수 없다.)
그러면 입력을 12admin345 로 하면 admin이 치환되어 12345가 남게된다. 이를 이용해서
adadminmin을 입력하면 admin이 치환되어 admin이 남고, 조건문을 통과할 수 있다.
id에 adadminmin을 입력하면 된다.
반응형
'WAR GAME > Lord of SQLi' 카테고리의 다른 글
LORD OF SQL INJECTION [golem] 풀이 (0) | 2019.11.01 |
---|---|
LORD OF SQL INJECTION [SKELETON] 풀이 (0) | 2019.10.31 |
LORD OF SQL INJECTION [troll] 풀이 (0) | 2019.10.29 |
LORD OF SQL INJECTION [orge] 풀이 (0) | 2019.10.28 |
LORD OF SQL INJECTION [darkelf] 풀이 (0) | 2019.10.27 |