[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: SQL inj ME
Страницы: 1, 2
Tapak
Подскажите, как избавиться от SQL инъекции? Проверяю через дополнение к firefox - SQL inj me, в базу попадает левая информация, ничего не сносит, не удаляет, только добавляет. На сайте есть система регистрации, поиска, все написаны по одному типу, как этот, а уязвимость только тут, не могу понять, в чем дело.
<?php 
header("Location: index.php");
date_default_timezone_set('Europe/Kiev');
session_start();
require_once 'config.php';
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$uniq_id = mt_rand(0, 12345678910);
$uniq = mysql_query("SELECT `productid`, `product`, `seller`, `datetime` FROM `accounting` WHERE `productid` =
'"
.mysql_real_escape_string($uniq_id)."';") or die(mysql_error());
$datetime = date('Y:m:d');
$product = trim($_POST['product']);
$error = false;
$errortext = '';
if($product == NULL)
{
$error = true;
$errortext = 'Поле не может быть пустым';
}
if(strlen($product) > 35)
{
$error = true;
$errortext = 'Название не должно превышать 35 сиволов';
}
if(mysql_num_rows($uniq) != '0')
{
$error = true;
return;
}
if($error == false)
{
$done = mysql_query("INSERT INTO `accounting` (`productid`, `product`, `seller`, `datetime`) VALUES (
'"
.mysql_real_escape_string($uniq_id)."',
'"
.mysql_real_escape_string($product)."',
'"
.mysql_real_escape_string($_SESSION['user'])."',
'"
.mysql_real_escape_string($datetime)."')") or die(mysql_error());
echo 'Товар успешно добавлен';
}
else
{
echo $errortext;
}
}


Если интересно, попадает такое
			2796	5514629553	1 UNI/**/ON SELECT ALL FROM WHERE	Куриленко Игорь	2012-11-27	NULL
2797 2454179157 1' AND non_existant_table = '1 Куриленко Игорь 2012-11-27 NULL
2798 2257659501 1'1 Куриленко Игорь 2012-11-27 NULL
2799 6096981703 '; DESC users; -- Куриленко Игорь 2012-11-27 NULL
2800 11425615855 1 AND USER_NAME() = 'dbo' Куриленко Игорь 2012-11-27 NULL
2801 9632381991 1 AND 1=1 Куриленко Игорь 2012-11-27 NULL
2802 11054920246 1 EXEC XP_ Куриленко Игорь 2012-11-27 NULL
2803 5613989656 1'1 Куриленко Игорь 2012-11-27 NULL
2804 963835762 1' OR '1'='1 Куриленко Игорь 2012-11-27 NULL
2805 7147293576 1 OR 1=1
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.