Пример обхода защиты от DDoS с использованием Selenium

Всем привет. Недавно столкнулся с проблемой автоматизированной работы с двумя сайтами, находящимися под anti-DDoS. В первом случае нужно было побрутить PhpMyAdmin с авторизацией через post-форму, но мешала защита от CloudFlare.

Вспомнив про Selenium, c помощью Python3 и WebDriver был написан простенький PoC которых отлично справился с задачей:

selenium-pma-bruter.py

Во втором случае нужно было поискать файлы и директории по словарю. От какой фирмы там был anti-DDoS я не знаю, но работал он просто. Время от времени вместо нужной страницы сайта выдавался код присвоения особых куков с маленьким временем жизни. Сразу после этого (т.е. почти мгновенно) происходил редирект на запрошенную страницу.

Задача не много осложнялась тем, что ответов а-ля 404 там было 3 вида:

  • Стилизованный ответ XenForo об отсутствии запрошенной страницы
  • Ответ 404 от nginx
  • Ответ «No input file specified» от PHP

Учтите это если соберётесь использовать данный скрипт. Скорее всего вам придётся переделать определение ответа 404.

selenium-dafs.py

Вот такие 2 примера обхода anti-DDoS по средствам Selenium. Надеюсь кому-нибудь пригодятся.

P.S. Что касается быстродействия, то с консольными вариантами конечно не сравнить. Каждый поток — самостоятельный браузер, кушающий по 150-200 Мб RAM. На виртуальной машине под Ubuntu 12 c 6 ядрами CPU 3200Mhz и 4Gb RAM без проблем работало 15 потоков.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *