Legosp Forum
Shop-Script "Legosp" => Разработка => Тема начата: delasker от Апреля 13, 2012, 08:50:17 am
-
Тут на форуме видел несколько жалоб на взломанные сайты. Обычное дело - слабый пароль, который ломается обычным перебором (брутфорсом)
Вот такой вариант защиты. В файле admin.php после //main admin module в 12 строчку вставить такой код:
$adm_name = "admin";
$adm_pass = "21232f297a57a5a743894a0e4a801fc3"; //Пароль в md5. Здесь пароль: admin
function adm_auth(){
Header ('WWW-Authenticate: Basic realm="Your_Zone"');
Header ("HTTP/1.0 401 Unauthorized");
echo '<html><head><title>access denied...</title></head>
<body><center>Введителогинипароль</h1></center></body></html>';
exit;
}
if (empty($_SERVER["PHP_AUTH_USER"])){
adm_auth();
}
if ($_SERVER['PHP_AUTH_USER'] != $adm_name OR md5($_SERVER['PHP_AUTH_PW']) != $adm_pass){
adm_auth();
}
Получится, что теперь при заходе в админку, придётся вводить ДВА логина-пароля. Только для малосведующих поясняю, что первую пару вводят, как придумали - admin/admin, а не сконвертированные кракозябры :)Как видите в коде пароль и логин шифруются в md5 (в примере это просто admin/admin). Нужно будет придумать свои и перекодировать (скажем в каком-то он-лайн сервисе, вот хоть здесь http://pajhome.org.uk/crypt/md5/index.html (http://pajhome.org.uk/crypt/md5/index.html) ) в MD5 и соответственно вписать. В архиве приложил программку для конвертации в MD5 и сам код.
Должен предупредить, что не всегда сработает, т.к. у некоторых есть проблемы с ЧПУ (как у меня например :)) Как способ усложнить жизнь взломщикам вполне пойдёт.
[вложение удалено администратором]
-
может проще капчу какую нибудь сделать?
-
Да показалось, что как раз так проще. Хотя конешно можно и каптчу. Покумекаю, когда всю канистру допью
-
а при чём тут каптча?... 0_0
-
если еще актуально то накидал капчу.
Просто заменяем файл на тот что в архиве
[вложение удалено администратором]
-
да главное что б читабельна была, а то я на одном сайте устал подобное корректировать(самописный какой то).
каждая аутентификация, занимала минут по 10-ть. запарился...
потому и противник был подобного, в смысле каптчи. хотя наверное правильней приобщить ф-нал по кол-ву попыток.. а потом восстановление, или корректировка через почту (вторичный код подтверждения/проверки). как то так...
-
да. Подумал и решил что с количеством раз для ввода пароля лучше)
Пример - http://vo-stok.com.ua/access_admin.php (попыток - 3)
Переписал скрипт
[вложение удалено администратором]
-
подкинь ;)
-
ну я сегодня брутом пошалил и записовал в лог getenv("HTTP_USER_AGENT");
для брута записало в лог:
[21.04.12 19:47] Превышено количество вводов пароля с IP:92.112.115.31 (Mozilla/3.0 (Compatible);Brutus/AET)
Дак может достаточно будет проверки?
if (isset($_POST["authorize"]) && stristr($_SERVER['HTTP_USER_AGENT'], 'Brutus'))
-
для какой версии лего этот антихак?
-
Хитрый я дядька, темку подкинул и вот парни напрягли мозги и отличную защиту дали. От себя и от общества низкий поклон.
-
Slamm, чо-то выдаёт у меня
Parse error: syntax error, unexpected T_STRING in /home/httpd/vhosts/textil-plus.ru/httpdocs/admin.php on line 9
Хоть на весь сайт, хоть на админку. Куда лезть, чтоб работало?
-
Сделал. Вообще сайт потух. Ни ошибок, ничего
-
То же самое - сайт просто гаснет, ни ошибок, ни отклика
-
Спасибо Slamm, в самом деле работает как часы. Думается, что данный модуль должен быть включён в систему по-умолчанию.
Для таких же нешибких программистов, как и я, немного поправлю инструкцию Slamma : вставлять require_once("./antihack/antihack.php"); нужно после тега <?php. Вот так:
<?php
require_once("./antihack/antihack.php");
ini_set("display_errors", "1");
-
А вот еще несколько идей по защите от брутфорса: http://hashcode.ru/questions/142956
-
Вопрос по антихаку, т.к. не смог разобраться в коде.
Какой принцип работы? Хотя бы в общих чертах, если можно.
-
А залипание ссылки, например, частоту ввода пароля и т.п. этот мод не анализирует?
-
У меня такое вот вчера случилось. Зашёл на почту, а там больше 300 писем примерно таких :
заказ звонка
Имя - uwqspvlj
Телефон - 555-666-0606
Коментарий - ..АЇ..АЇ..АЇ..АЇ..АЇ..АЇ..АЇ..АЇetc/passwd
IP - 2.92.195.41
Стоит модуль antihack. Сам сайт устоял
Как всё это расшифровать?
-
попробовал установить антихак ... работает как-то странно при вводе правильного пароля в админку не входит - выдает сообщение :
Warning: Cannot modify header information - headers already sent by (output started at V:\home\lego\www\antihack\antihack.php:60) in V:\home\lego\www\access_admin.php on line 42
зато в админку антихака входит без пароля :(
может это так на на версии 6,1 ?