Информационный проект Ynks.Net - Статьи, форум, софт, практические советы, обои, Flash-игры, иконки, CMS Главная :: Поиск :: Статистика :: Аккаунт
Все статьи :: Безопасность :: Статьи по железу :: ОС и Софт :: Интернет и сети :: Связь
Обои :: Наборы иконок :: CMS :: Софт :: Flash - игры
Добавить статью :: Обратная связь
 
 


  Реклама

 

  Авторизация

Логин

Пароль

Не зарегистрировались? Вы можете сделать это, нажав здесь. Когда Вы зарегистрируетесь, Вы получите полный доступ ко всем разделам сайта.
 

 
  Безопасность Интернет-приложений
Разместил 02/06/2006 от admin
 
 
  Сетевая, компьютерная  безопасность Собственно, это статья о трех больших проблемах в безопасности подавляющего числа самодельных скриптов

Источник: WOWeb.ru

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 будет варьироваться вред, который сможет причинить злоумышленник. Если, конечно, он угадает название переменной и ее значение.

 
 
  Связанные ссылки

· Больше про Сетевая, компьютерная безопасность
· Новость от admin


Самая читаемая статья: Сетевая, компьютерная безопасность:
Варианты аутентификации

 

  Рейтинг статьи

Средняя оценка: 0
Ответов: 0

Пожалуйста, проголосуйте за эту статью:

Отлично
Очень хорошо
Хорошо
Нормально
Плохо

 

  опции


 Напечатать текущую страницу Напечатать текущую страницу

 





 
 
Ynks.Net © 2005-2010