agamer Опубликовано 10 мая, 2020 Поделиться Опубликовано 10 мая, 2020 У форума есть проблема. множественные Get-запросы типа ?sortby=last_post&sortdirection=desc1111111111111%22%20UNION%20SELECT%20CHAR(45,120,49,45,81,45),CHAR(45,120,50,45,81,45),CHAR(45,120,51,45,81,45),CHAR(45,120,52,45,81,45),CHAR(45,120,53,45,81,45),CHAR(45,120,54,45,81,45),CHAR(45,120,55,45,81,45),CHAR(45,120,56,45,81,45),CHAR(45,120,57,45,81,45),CHAR(45,120,49,48,45,81,45),CHAR(45,120,49,49,45,81,45),CHAR(45,120,49,50,45,81,45),CHAR(45,120,49,51,45,81,45),CHAR(45,120,49,52,45,81,45),CHAR(45,120,49,53,45,81,45),CHAR(45,120,49,54,45,81,45),CHAR(45,120,49,55,45,81,45),CHAR(45,120,49,56,45,81,45),CHAR(45,120,49,57,45,81,45),CHAR(45,120,50,48,45,81,45),CHAR(45,120,50,49,45,81,45)%20--%20/*%20order%20by%20%22as%20/* ?sortby=last_post&sortdirection=desc1111111111111%27%20UNION%20SELECT%20CHAR(45,120,49,45,81,45),CHAR(45,120,50,45,81,45)%20--%20/*%20order%20by%20%27as%20/ Вызывают сильную нагрузку на процессор сервера. Из за чего сайт начинает тормозить. Атаку можно осуществлять с одного адреса. За последние 20 минут один адрес совершил около 20000 этих грязных запросов. Разработчикам на эту проблему глубоко плевать. Уязвимости типа инъекций и внедрения кода судя по всему нет и до свидания. Но 8-ядерный процессор от этих запросов загружается на 100%. Надо придумать свой обработчик запросов который будет отфутболивать сорные. Иначе этой канители будет ни конца ни края. Но делать надо для всех возможных параметров. Но их дофига и многие мы просто не знаем. Может кто нибудь составить полный список параметров и их правильных значений? Например Какие всевозможные значения может принимать параметр sortdirection кроме desc и relevancy? Какие может принимать sortby? В профиле пользователя можно делать гет-запросы типа type=downloads_file&change_section=1. Вредоносы и там будут атаковать надо тоже проверять корректность значений. У форумов и прочих приложений тоже куча параметров обрабатываемых движком. Тот кто составит полный список параметров гет-запросов обрабатываемых движком и их значений сделает очень доброе дело. Ссылка на комментарий
zigazaga Опубликовано 10 мая, 2020 Поделиться Опубликовано 10 мая, 2020 веб-сервер NGINX может ограничивать частоту запросов и т.д. Все атаки такого рода должны блокироваться самим сервером, по этому на уровне CMS это не эффективно Ссылка на комментарий
agamer Опубликовано 10 мая, 2020 Автор Поделиться Опубликовано 10 мая, 2020 @zigazaga Ограничения частоты рано или поздно повлияет на нормальных пользователей и не дай бог поисковики будут отфутболены. Проверка гет-запросов по белому списку обеспечит полный аптайм нормальным пользователям и поисковикам. Атакующие запросы заставляют движок думать и составлять системный лог ошибки из за чего процессор и греется. В общем если создать полный белый список всех возможных запросов которые обрабатываются движком, то можно решить эту проблему раз и навсегда. Ссылка на комментарий
agamer Опубликовано 11 мая, 2020 Автор Поделиться Опубликовано 11 мая, 2020 Хочу напомнить, что данной уязвимости подвержены все без исключения. Видимо форум ни у кого ни разу не тормозил раз ни у кого нет предложений. Я тут посмотрел элементы интерфейса которые генерируют различные ссылки с get-запросами. Их очень много. Например https://ipsinfo.ru/forums/topic/2014-ataki-na-forum/?do=findComment&comment=9964 Все запросы с инъекциями имеют в своем теле пробелы (%20). А в форумном движке нет параметров с пробелами кроме тегов. Форумный движок принимает только буквы, цифры, подчеркивание и точку. Поэтому возникла идея блокировать все get-запросы с пробелом. Это отсечет миллионы запросов с инъекциями. Может кто видел или знает есть ли у движка параметры которые принимают значения с пробелами? Ссылка на комментарий
Рекомендуемые сообщения
Создайте учетную запись или войдите, чтобы комментировать
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВойти
Уже зарегистрированы? Войдите здесь.
Войти