반응형
troll
문제 소스:
1
2
3
4
5
6
7
8
9
10
11
12
|
<?php
include "./config.php";
login_chk();
$db = dbconnect();
if(preg_match('/\'/i', $_GET[id])) exit("No Hack ~_~");
if(preg_match("/admin/", $_GET[id])) exit("HeHe");
$query = "select id from prob_troll 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("troll");
highlight_file(__FILE__);
?>
|
cs |
$_GET[id]
이번에는 id만 입력을 받는다.
if(preg_match('/\'/i', $_GET[id])) exit("No Hack ~_~");
if(preg_match("/admin/", $_GET[id])) exit("HeHe");
' 따옴표와 admin을 필터링 한다.
if($result['id'] == 'admin') solve("troll");
id는 admin이어야 한다.
필터링 하는 구문을 잘 보자.
preg_match("/admin/", $_GET[id])
/admin/
/admin/i 가 아니다. 뒤에 i가 붙지 않아서 대소문자 구분을 하게 된다.
따라서, 소문자로 admin만 필터링을 한다.
mysql은 기본적으로 대소문자 구분을 하지 않기 때문에, ADMIN으로 입력하여도 무방하게 된다.
id에 ADMIN으로 입력하자.
반응형
'WAR GAME > Lord of SQLi' 카테고리의 다른 글
LORD OF SQL INJECTION [SKELETON] 풀이 (0) | 2019.10.31 |
---|---|
LORD OF SQL INJECTION [VAMPIRE] 풀이 (0) | 2019.10.30 |
LORD OF SQL INJECTION [orge] 풀이 (0) | 2019.10.28 |
LORD OF SQL INJECTION [darkelf] 풀이 (0) | 2019.10.27 |
LORD OF SQL INJECTION [wolfman] 풀이 (0) | 2019.10.26 |