##############################
#Автор: Insider; Форум: php.winbb.ru#
##############################
Пишу в этом форуме т.к. дум что элементарную безопасность надо ЗНАТЬ и СОБЛЮДАТЬ всем (в т.ч. и новичкам).
Сидел я не так давно и че то мне в голову стукнуло: дай думаю пойду Хакер возьму посмотрю. Пошел взял, - там статья (кот меня очень рассмешила) о взломе сайтов крупных банков по миру . -=атака на банки: 6 целей по всему миру; номер 125 - май 05 2009=-.
Суть изначального проникновения базировалась базировалась на SQL-injection, но об етом статей очень много и думаю вы потом если захотите найти их в интеренете будет не сложно (да и сам со временем буду выкладывать свои наработки (-скромно сказал Insider)). Но дыры в этом - это еще пол беды. Оказывается многие не защищают (элементарно) авторизационную форму!: (один из международников)
-=..авторизуемся с данными:
Username: admin' or 1=1--
Password: admin' or 1=1-
Бинго!We are in!..=-
Запросы в авторизационой строке могут разниться - но суть от этого не меняется ( " или ' - как -=выход из переменной при обработке в тело скрипта=-, затем код для проверки 1=1 то все в норме (= оператор присвоения, == оператор сравнения, === оператор сравнения не схожих и схожих величин - различие между == и === такое:
$q=gaysgtd $w=1287391 $e=ijwdall $r=3209422
$q==$e no $q===$e no
$w==$r no $w===$r no
$q==$w yes $q===$w no
$e==$r yes $e===$r no)
Скажу для ПХП - обычно атаки подобного рода блокируются очень просто:
я всегда прописываю это первым до самой проверки при приеме данных от пользователя (ну примерно это):
$login=$_POST['login'];
$login1=md5($login);
$login=strip_tags($login);
$login=HtmlSpecialChars($login);
$login2=md5($login);
if ($login1===$login2) {
проверка по логину ($login);
}
else {
die('<b> Возможная попытка проникновения: используйте только буквы и цифры при написании логина - пароля.</b>');
}