понедельник, 4 августа 2014 г.

Пример обхода защиты от 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 потоков.

понедельник, 24 февраля 2014 г.

Ещё один пример теста на проникновение из собственной практики


Доброго времени суток, уважаемые читатели. Давно я не писал примеров по пен-тесту из собственной практики, пора это исправить. Как раз имеется один заказ, после выполнения которого прошло уже достаточно времени, и клиент разрешил опубликовать информацию в сети, но, естественно, без упоминания названия предприятия, имён его сотрудников и т. д. Чтоб не отнимать много времени постараюсь изложить всё кратко, без воды.

четверг, 14 ноября 2013 г.

Masks Cuter - обрезаем брут-маски

Приветствую. Рад поделиться с вами утилитой Masks Cuter, призванной ускорить процесс брута хешей и повысить его производительность на медленных алгоритмах или длинных масках.
Её смысл прост. В каждой маске есть символы которые встречаются на определённых позициях реже остальных, но времени на них тратится на ровне со всеми. Masks Cuter берёт маску которую вам нужно обрезать и на основе данного вами словаря исключает из каждой её позиции символы встречающиеся реже указанного % раз. За счёт этого время перебора значительно уменьшается (особенно если срезаются символы с первых позиций), а эффективность получившейся маски остаётся высокой.

Сам скрипт можно взять тут: https://sourceforge.net/projects/maskscuter/files/
Он написан на Python3 и отлично работает под MacOS/Linux/Windows.
Под катом вас ждёт практический пример.

среда, 30 октября 2013 г.

Не большой, но важный SQL-патч для АЦ 1.1.0b

Патч исправляет несколько индексов и длину поля хеша в таблицах пользователей

ALTER TABLE `app_users` CHANGE `hash` `hash` VARCHAR( 500 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '';
ALTER TABLE `server_users` CHANGE `hash` `hash` VARCHAR( 500 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '';
ALTER TABLE `server_software_users` CHANGE `hash` `hash` VARCHAR( 500 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '';

ALTER TABLE `app_users` DROP INDEX `project_id_2` ,
ADD UNIQUE `project_id_2` ( `project_id` , `app_id` , `login` , `group_id` ) ;
ALTER TABLE `server_users` DROP INDEX `project_id_2` ,
ADD UNIQUE `project_id_2` ( `project_id` , `server_id` , `login` , `group_id` );
ALTER TABLE `server_software_users` DROP INDEX `project_id_2` ,
ADD UNIQUE `project_id_2` ( `project_id` , `spo_id` , `login` , `group_id` );

воскресенье, 27 октября 2013 г.

Приветствую вас, уважаемые читатели! Наконец-то у меня дошли руки до Аналитического Центра и сегодня я рад сообщить о выходе версии 1.1.0b! В ней добавлен новый функционал, проведён серьёзный рефакторинг и исправлено большое количество ошибок.
Скачать архив с новой версией можно здесь: https://sourceforge.net/projects/analyticalcenter/, а под катом вас ждёт список внесённых изменений.

P.S. Выражаю особую благодарность тестировщице Гуевой Наталие за ту гору багов которую она смогла обнаружить.

вторник, 23 июля 2013 г.

EGBTestArea - скрипт для тестирования правил и конфигураций ExtreemeGPUBruteforcer

Здравствуйте. Рад представить вам EGBTestArea – скрипт для тестирования правил и конфигураций ExtreemeGPUBruteforcer. У меня давно зародилась идея написать утилиту, которая бы проверяла множество используемых мною масок, схем и правил, и показывала какие из них более эффективные, а какие – менее, какие самые быстрые, а какие медленнее остальных. Наконец-то руки дошли до этого. Получился, по моим оценкам, хороший инструмент, поэтому я решил поделиться им со всеми желающими и сделать его отдельным проектом.
Скачать ETA можно здесь: https://sourceforge.net/p/egbtestarea/ . Архив не большой, весит всего 13кб. Внутри него имеется документация в HTML-формате с подробным описанием инструмента. Кроме того, в самом скрипте есть краткая справка на английском (-h).

Буду рад конструктивной критике, предложениям по развитию скрипта, да и вообще любым отзывам.

среда, 13 февраля 2013 г.

Проверка работоспособности кода на множестве версий PHP


Всем доброго времени суток. На днях понадобилось проверить работоспособность 4 вариантов кода на разных версиях PHP (в сумме около 20). Причём изначально было понятно что 4 экземплярами дело не ограничится — в будущем подобных тестов предвидится больше. Вручную всё это делать очень утомительно, поэтому было написано 2 скрипта, которыми я бы хотел с вами поделиться.