Перейти к контенту

Как защитить форум от взлома?


Рекомендуемые сообщения

  • Ответы 191
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

***NEON***

Смотрим в Навигатор и что мы видим:

Установка патча безопасности для 1.3 №1

Установка вручную патча безопасности №2

Патч безопасности [search.php]

Установка патча безопасности для ssi.php вручную

Патч безопасности (№5) для v1.x

 

Хотя если у тебя стоит версия форума 1.3.1 то тебе это ставить ненадо, там уже все это исправлено.

Ссылка на комментарий
Поделиться на других сайтах

[merciful]

еще одминку надо закрыть доп. паролем. И есть мод (был на планете сейчас не найду наверное, но тут можно .Поиск ом найти), который закрывает доступ к админ-панели на время отсутсвия админа (отпуск, дела и т.д.)

Ссылка на комментарий
Поделиться на других сайтах

А случаем никто не пробовал вырезать все запросы с словом UNION и INTO? или не вырезать, а к примеру заменять "UNION" на "UNI0N" (с нулем вместо "O")... Простейшим образом вырезаются все опасные запросы и создается запись в лог-файле.

В результате большинство запросов с SQL-иньекцией будут нарушены, и все попадет в логи. О чем еще может мечтать админ? =)

Ссылка на комментарий
Поделиться на других сайтах

***NEON***,

В большинстве SQL-Injection атак применяются команды UNION и INTO. К примеру тот же

ssi.php?a=out&type=xml&f=1&show=11%20union%20select%200,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,password,0,0%20from%20ibf_members/*

Как видно, применяется UNION SELECT, для присоединения лишних данных, в частности поля password из таблицы ibf_members. Если б мы заменили слово UNION на UNI0N во всех приходящих на сторону сервера запросах, то мы б получили неплохую защиту, даже без фильтрования кавычек.

Ссылка на комментарий
Поделиться на других сайтах

написать 300 раз "я не буду халатно относиться к безопасности форума" © TheIggs

и хотя бы раз в неделю посещать http://www.securitylab.ru/

Ссылка на комментарий
Поделиться на других сайтах

А случаем никто не пробовал вырезать все запросы с словом UNION и INTO? или не вырезать, а к примеру заменять "UNION" на "UNI0N" (с нулем вместо "O")... Простейшим образом вырезаются все опасные запросы и создается запись в лог-файле.

на серверах mySQL v. < 4 это излишние перестраховки.

 

S3TUP можно завалить форум и без этих запросов %) но тоже SQL Injection

 

Плюс к этому необходим ssl, как на зону админа, так и на зону пользователя.

такой геморрой не стоит свеч. Достаточно просто передавать криптованый пароль от пользователя к клиенту, причем криптование должно происходить на стороне клиента, хотя бы тем же md5

 

И есть мод (был на планете сейчас не найду наверное, но тут можно Поиск ом найти), который закрывает доступ к админ-панели на время отсутсвия админа (отпуск, дела и т.д.)

достаточно удалить admin.php

======================================

А вот защиту от перебора паролей сделать просто необходимо.

======================================

хм, дополнительный пороль? если нетрудно напиши в ЛЧ про это, а тоу мну пороль нестоит дополнительный :D

простейший способ

открываешь ./admin.php

находишь

/*-----------------------------------------------
  USER CONFIGURABLE ELEMENTS
 ------------------------------------------------*/

добавляешь перед:

if (!isset($PHP_AUTH_USER) || ($PHP_AUTH_USER != 'test' && $PHP_AUTH_PW != 'test')) { 
    Header("WWW-Authenticate: Basic realm=\"My Realm\""); 
    Header("HTTP/1.0 401 Unauthorized"); 
    exit("Authorization failed."); 
}

 

акк на вход test/test =)

Ссылка на комментарий
Поделиться на других сайтах

А как насчет двойного MD5 на все пароли? Да еще и вставить между двумя MD5 какуюнить строчку, к примеру

$passwd=md5("myforum_".md5($password));

Так, в случае даже если кулхацкер и получит хеш, он не сможет его расшифровать.

 

А если создать рядом с admin.php файлик в котором будет обычная форма с логином, и при логине в админку будет проверка referer? Конечно гиммор, но с другой стороны, кул-хацкер, не зная имени файла с формой, не сможет залезть в админку =) Конечно это не защита, но предосторожность...

Ссылка на комментарий
Поделиться на других сайтах

А как насчет двойного MD5 на все пароли? Да еще и вставить между двумя MD5 какуюнить строчку, к примеру

$passwd=md5("myforum_".md5($password));

Так, в случае даже если кулхацкер и получит хеш, он не сможет его расшифровать.

угу здесь так и сделано =) только префикс и постфикс у пароля немножко помудренее =)

Ссылка на комментарий
Поделиться на других сайтах

Vanish

А если допустим у меня есть хеш md5, и если его вместо своего в куки прописать, то что получится? :D

Ссылка на комментарий
Поделиться на других сайтах

А я вот сегодня понял - не делайте админами Вашего форума ламеров!

Один такой является админом на одном форуме и он же у меня на форуме зарегистрирован. Пароль в хэше я достал, расшифровал, как не...чего не делая... Пароль был вида xxxxx :D. Проверил на том форуме, где у него права админа - !ура! - подходит! Теперь думаю, чего бы такого напакостить... ;)

Ссылка на комментарий
Поделиться на других сайтах

David

не христианский это взгляд. "Воздастся тебе по делам твоим" (с)

Ссылка на комментарий
Поделиться на других сайтах

Я вот лично на время долгого моего отсутствия, да и в момент, когда уже всё настроено файл admin.php и папку admin переименовываю в что-то типа этого "bf34egefekg7tywr2wrwbrfoili;wsfhwif8wr2tr2rg2borhwf9.......................

................grf3rf3f"

 

Думаю помогает. А сам файл admin.php заменяю пустым файлом (можно конечно и анекдоты туда написать :D).

 

А я вот сегодня понял - не делайте админами Вашего форума ламеров!

А вот это правда, так на моём форуме пара придурковатых модеров отношения выясняли. В итоге один из них оказался взломан. Другой удалён с форума мною.

 

И помните, делайте пароли не менее 7 символов, с буквами (заглавными и обычными) и цифрами - труднее перебрать!!!

Ссылка на комментарий
Поделиться на других сайтах

Тут после взлома сижу, кумекаю, как улучшить безопасность скриптов.

Вот одна идейка пришла в голову.

Открываем admin.php (всё делаем для IPB 2.0), ищем:

 

	$ibforums->html .= $ibforums->adskin->add_td_row( array( "Your Forums Username:",
                 "<input type='text' style='width:100%' name='username' value='$name'>",
              )      );
 
$ibforums->html .= $ibforums->adskin->add_td_row( array( "Your Forums Password:",
                 "<input type='password' style='width:100%' name='password' value=''>",
              )      );

и заменяем на:

 

	$ibforums->html .= $ibforums->adskin->add_td_row( array( "Your Forums Username:",
                 "<input type='text' style='width:100%' name='password' value='$name'>",
              )      );
 
$ibforums->html .= $ibforums->adskin->add_td_row( array( "Your Forums Password:",
                 "<input type='password' style='width:100%' name='username' value=''>",
              )      );

 

Фишка вся в том, что мы поменяли поля username и password местами. Тоесть, теперь заходя в админку, мы вначале вводим пароль (хоть там и написано, введите ваше имя), а в поле, где должен быть пароль, пишем ваш логин.

Хоть метод и не особо гениальный, но зато для тех, кто незнает про это, будет труднее войти в админку.

 

Тут ещё пара идей есть, только не знаю как это всё осуществить (опыта общения с PHP мало).

1) Так как в большинстве случаев ломают брутфорсами, то сделать определённое число попыток входа (про что здесь уже говорили)

2) Чтоб войти в админку нужно ещё ввести числа с картинки (как при регистрации)

3) Чтоб войти в админку, нужно ввести пароль, который отправляется на ваше мыло (в системе WebMoney широко применяется).

 

У меня не паранойя, просто после взлома изменилось мнение о безопасности.

Хотя я и подозреваю, что мне подкинули КейЛогер, но вот эти вещи реализовать не помешает. Кто мне поможет, тому буду рад и обязан по гроб жизни :D

Ссылка на комментарий
Поделиться на других сайтах

Хотя я и подозреваю, что мне подкинули КейЛогер, но вот эти вещи реализовать не помешает. Кто мне поможет, тому буду рад и обязан по гроб жизни :D

за 50$ подниму безопасность до уровня этого форума (антибрут в форме логина, защита паролей пользователей при передаче клиент->сервер, защита админки (или привязка на вход только с опеределенного IP, или динамически меняющийся логин/пароль)), защита хэшей паролей от брута + защита от кейлогера в админке. Защита полностью индивидуальна для каждого форума.

Ссылка на комментарий
Поделиться на других сайтах

Вот подскаэите такая трабла, ломаю меня всегда так, появляетьбся новый админ с моей характеристикой, то есть столько же постов, но разное имя и мыло. Странно? Как это сделали, может хостер виноват? Подскажите где собака зарыта?
Ссылка на комментарий
Поделиться на других сайтах

Gogy проверяй на дырявость другие скрипты на сервере, проверь не лежит где-нибудь расшареный phpMyAdmin или аналогичная тулза.
Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...
Не так давно мной был установлен IPB v1.3.1 с офсайта. Меня заинтересовало следующее - насколько он защищён? Прочитал о безопасности тут, 5 (пять) патчей уже интегрированы в 1.3.1 (на всякий случай последний проверил ручками - стоит). Однако некто утверждает о наличии вот этой (адрес) уязвимости. Я конечно засяду сейчас сам с эксплоитом ковыряться, но сам вопрос таков: существуют ли ещё патчи сверх этих пяти штук?
Ссылка на комментарий
Поделиться на других сайтах


×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.