Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #65, МАЙ 2004 г.

Надерем хацкерам задницу!

Никита "red_way" Кислицин

Xakep, номер #065, стр. 065-118-4


SSL - наш друг

Использование SSL позволяет заметно повысить устойчивость системы к атакам, не меняя ни строчки кода. Здесь идея состоит в использовании криптографии в организации потока данных между клиентом и сервером - теперь хакеру не удастся отснифать пользовательский пароль и получить доступ к информации, которую в самой системе ты можешь очень хорошо защитить. SSL применяет асимметричные криптографические алгоритмы. Сервер посылает клиенту открытый ключ, с помощью которого ему следует криптовать передаваемую информацию.

Расшифровать ее теперь сможет только сам сервер, поскольку, одному ему известен секретный ключ. Сервис https работает обычно на 443 порту, а большинство современных браузеров умеют работать с такими защищенными соединениями. Эта технология стала очень популярной, ты в этом и сам уже убедился, если имел дело с электронными магазинами.

Код устойчивой функции аутентификации пользователя

function LogIn($login, $passw) {

/* Боремся с sql-injection */

$login = addslashes($login);

$passw = addslashes($passw);

/* Отправляем запрос на получение времени последней ошибки */

$ti=mysql_query("select LastErrTime from LoginErrors where login='$login'");

$tm=mysql_fetch_array($ti);

/* Текущее время в секундах */

$tim=time();

/* Если с момента последней ошибки прошло не более 3 секунд */

if($tm[0]+3>time()) {

echo "Repeat your request after 3 seconds";

/* Обновляем время последней ошибки */

mysql_query("update LoginErrors set LastErrTime='$tim' where login='$login'");

return 0;

}

/* Выбираем хеш пароля пользователя $login */

$lo=mysql_query("select passwd from users where login='$login'");

/* Если таких пользователей не 1 */

if(mysql_num_rows($lo) != 1) return 0;

$log=mysql_fetch_array($lo);

/* Хешируем введенный пользователем пароль*/

if($log[0]==md5("$passw")) return 1;

}

INFO

Полный перебор всех вариантов пароля длиной 8 символов для системы аутентификации, работающей на алгоритме md5, на быстром процессоре займет несколько лет.

CD

На диске ты найдешь кучу материала по криптографии, web-безопасности и корректной обработке ошибок, а также некоторые мои наработки по этой теме.

Назад на стр. 065-118-3  Содержание  Вперед на стр. 065-118-5