Продукты «Хакера»

  • Ежеквартальный «Хакер» #3

    Ежеквартальный «Хакер» #3

    Лучшие статьи квартала на бумаге

    2 000 ₽

    Заказать журнал
  • Годовая подписка на Xakep.ru

    Годовая подписка на Xakep.ru

    Полный доступ к статьям и архиву выпусков

    6 000 ₽ в год

    Подписаться
  • «Пентест WEB» для начинающих

    «Пентест WEB» для начинающих

    Совместный курс «Хакера» и лаборатории «Хаксет»

    7 000 ₽

    Купить курс
  • Спецвыпуск «Хакера» #4

    Спецвыпуск «Хакера» #4

    Лучшие статьи за 2021–2022 годы на бумаге

    2 000 ₽

    Заказать журнал

Разработчики веб-сервера nginx выпустили модуль testcookie-nginx-module, который может использоваться для распознавания ботов и, соответственно, отражения DDoS-атак. Распознавание осуществляется по простому принципу — ботом признаётся любой клиент, который не умеет исполнять JavaScript (есть «белый список» для IP-адресов поисковых ботов). Конечно, можно сделать бота с JavaScript-движком, но на практике такие DDoS-атаки встречаются нечасто.

Разработчик Эльдар Заитов подробно рассказывает о возможностях нового модуля. Он объясняет, что JavaScript задействуется на последнем этапе обороны, а поначалу отсеиваются самые «тупые» боты, которые не понимают редиректов и cookies, то есть самый типичный случай DDoS-атаки методом HTTP-флуда.

Модуль умеет ставить cookies стандартным способом через HTTP-заголовок Set-Cookie, после установки перенаправляет пользователя, используя код ответа 301 и заголовок Location или используя код ответа 200 и HTML тег Meta «refresh». Он также может считать количество попыток поставить cookies и отправлять пользователя по заданному URL после превышения максимального количества неудачных попыток.

Алгоритм работы модуля показан на схеме.

В случае, если боты понимают редиректы и cookies, то новый модуль nginx может использовать произвольные шаблоны для ответа фильтра, например, можно выставить cookies через JavaScript. А самое интересное, что против возможных автоматических парсеров со стороны бота используется шифрование переменных в шаблоне симметричным криптоалгоритмом с дальнейшей расшифровкой через JavaScript на стороне клиента (используя SlowAES).

В данном случае алгоритм работы выглядит так.

  • Подпишись на наc в Telegram!

    Только важные новости и лучшие статьи

    Подписаться

  • Подписаться
    Уведомить о
    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии