Здравствуйте Гость ( Вход | Регистрация ) | Выслать повторно письмо для активации |
Лена |
Отправлено: Apr 11 2006, 09:47 AM
|
Главный администратор Группа: Members Сообщений: 311 Пользователь №: 1 Регистрация: 6-May 06 |
Автор: Дроздовский Михаил
Собственно, это статья о трех больших проблемах в безопасности подавляющего числа "самодельных" скриптов. 1. Возможность SQL-injection. Внимательно изучите этот кусок кода (PHP): <? $conn = mysql_connect("localhost", "zz", "zz"); mysql_select_db("test", $conn); $sql = "SELECT adminpwd FROM data WHERE login='$login' "; $a = mysql_query($sql, $conn); $z = mysql_result($a, 1); ... Допустим, скрипт называется script.php и параметр login передается ему в виде script.php?login=ssss . Вы видите, что параметр login никак не проверяется. А что будет, если вместо login=admin передать login='admin ? Будет ошибка SQL-запроса, ведь к базе данных передается запрос SELECT adminpwd FROM data WHERE login=''admin' . В такой ситуации злоумышленник может исполнить любой SQL-запрос (использовав, например union). Защита от этого предельно проста: использовать функцию mysql_escape_string($string); 2. Возможность исполнения произвольной команды. Необходимо всегда проверять включаемые файлы, особенно не рекомендуется использовать include($inc), если переменная $inc передается через адресную строку. 3. Возможность переопределения переменных. Возьмем такой пример: <? $file=file("zz.txt"); $cc=count($file); $c = 0; while($c < $cc) { $f .= $file[$c++]; } ... ?> Допустим, что $f в конце цикла содержит какую-нибудь важную информацию из файла. Или, что еще хуже, она исполняется командой cmd($f); Так как переменная $f не определена в начале скрипта (должно быть $f="";), то ее начальное значение может определить пользователь (введя в адресной строке что-нибудь вроде script.php?f=ddddd). В зависимости от важности переменной $f будет варьироваться вред, который сможет причинить злоумышленник. Если, конечно, он угадает название переменной и ее значение. |
1WerfaLife |
Отправлено: Oct 9 2006, 05:27 AM
|
Сержант Группа: Members Сообщений: 18 Пользователь №: 59 Регистрация: 9-October 06 |
Автор: Дроздовский Михаил Страницы: - респект тебе Михалыч, но к чему ты так описывал все это, наверно никто так и не понял, это взаимодействие си кю л с каким то сервером -это понятно, а что касается запросов, то права на это выставляются!!! п.с. Лузер
|
Лена |
Отправлено: Oct 31 2006, 11:56 AM
|
||
Главный администратор Группа: Members Сообщений: 311 Пользователь №: 1 Регистрация: 6-May 06 |
|
||