если в скуль-запрос передается текстовый параметр, обработанный этой функцией, то никак (насколько я знаю). Если же целочисленный - то и обходить не надо просто юзай инъекцию без использвания кавычек внутри запроса. Текстовые значения для запроса в этому случае можно передавать как CHAR(...). Вообще эта функция экранирует кавычки для скуль-запроса и еще что-то незначительное. P.S. некоторые кодеры, без знания дела, и целочисленные значения фильтруют этой функцией, что НЕДОПУСТИМО. Я сам из таких кодеров был
я просто в гугле читал што ета функция пропускает какуюто кодировку и которая понятна для mysql только вот где што и как нигде не обьясняется
это очень круто, хоть и легкие дровишки можно собрать только в азии, как я понял. Баги для указанных функций доступны и в php последних версий?
я вот только чёт не понял Code: <?php $_POST['username'] = chr(0xa3) . chr(0x27) . ' OR 1=1 /*'; $_POST['password'] = 'blah'; что ето в примере за chr ???? я вот сам прбовал сделать как в примере вот допустим тут(писал от фонаря) http://mai1-ru.h2m.ru/serfing/index.php Code: <? session_start(); $e = addslashes($user_login); $er = addslashes($user_pass); include ("dbconnect.php"); $query = "SELECT `id` FROM `serfinguser` WHERE `user_name`='$e' AND `user_pass`='$er' LIMIT 1"; $sql = mysql_query($query) or die(mysql_error()); if (mysql_num_rows($sql) == 1) { $row = mysql_fetch_assoc($sql); $_SESSION['id'] = $row['id']; header("Location: site.php"); } else { die('Такой логин с паролем не найдены в базе данных.'); } ?> ничего не происходит, почему? разор в своём блоге от фонаря всё штоли пишет?
уязвимость в мультибайтовых кодировках BIG5, EUC-JP, EUC-KR, GB2312 и SHIFT_JIS и др. utf-8 хоть и мультибайтовый, но под данную уязвимость не попадает (c)
Думаю он имел ввиду,что если знаешь что должно быть число,то легче юзать преобразование типов: (int),intval,settype или например проверять is_numeric,etc... qaz Перечитай статью,ты ничего не понял.
ну я например делаю так Code: "SELECT * FROM table WHERE id = '".mysql_real_escape_string($_GET['id'])."' and name = '".mysql_real_escape_string($_GET['name'])."'"; id число name строка
а кто-то делает так: PHP: "select * from table where id=".mysql_escape_string($_GET['id']); qaz походу БД должна быть в любой кодировке, совместимой с asci, а на сайте использоваться одна из перечисленных в статье. Если я правильно все это понимаю, то в таком несоответствии возможна инъекция...