
07.11.2009, 18:37
|
|
Reservists Of Antichat - Level 6
Регистрация: 08.04.2008
Сообщений: 286
С нами:
9521666
Репутация:
1695
|
|
Вот задачка от меня, найдите уязвимость в коде.
Структура БД:
CREATE TABLE stats (id int unsigned not null PRIMARY KEY AUTO_INCREMENT, useragent varchar(255), ip varchar(16), referer varchar(255));
PHP код:
<?php
mysql_connect('localhost', 'root', 'secretpassword');
mysql_select_db('antichat');
//Обработка переменных
function Sanitize($data_to_sanitize) {
$data_to_sanitize = addslashes($data_to_sanitize);
$data_to_sanitize = htmlspecialchars($data_to_sanitize);
return $data_to_sanitize;
}
function Sanitize_Array($value) {
$value = is_array($value) ? array_map('Sanitize_Array', $value) : Sanitize($value);
return $value;
}
$_SERVER = array_map('Sanitize_Array', $_SERVER);
$sql = "INSERT INTO stats (ip, useragent, referer)
VALUES ('".substr($_SERVER['REMOTE_ADDR'],0,16)."', '".substr($_SERVER['HTTP_USER_AGENT'],0,255)."', '".substr($_SERVER['HTTP_REFERER'],0,255)."')";
mysql_query($sql);
mysql_close();
?>
|
|
|