EASY7
[Lord of SQL] GREMLIN #1 본문
1
2
3
4
5
6
7
8
9
10
11
12
|
<?php
include "./config.php";
login_chk();
dbconnect();
if(preg_match('/prob|_|\.|\(\)/i', $_GET[id])) exit("No Hack ~_~"); // do not try to attack another table, database!
if(preg_match('/prob|_|\.|\(\)/i', $_GET[pw])) exit("No Hack ~_~");
$query = "select id from prob_gremlin where id='{$_GET[id]}' and pw='{$_GET[pw]}'";
echo "<hr>query : <strong>{$query}</strong><hr><br>";
$result = @mysql_fetch_array(mysql_query($query));
if($result['id']) solve("gremlin");
highlight_file(__FILE__);
?>
|
cs |
Code Analyzing
#5 ~ 6 Line
id, pw Parameter에 _, ., (, )와 같은 특수문자가 포함되지 않도록 한다.
다른 테이블이나 데이터베이스의 값을 공격하지 못하게 하기 위함이다.
Resolving
각주 이용
SQL 종류에 따라 각주가 다르다.
오라클 단일 각주 -- 멀티 각주/* */
참/거짓 이용
'Project > Lord of SQL' 카테고리의 다른 글
LOS 12번 문제 (0) | 2019.08.09 |
---|---|
LOS 11번 (1) | 2019.08.04 |
Lord of the SQL 10번 (0) | 2019.08.04 |
Lord of the SQL 9번 (0) | 2019.08.04 |
Lord of the SQL 8번 (0) | 2019.08.04 |
Comments