Как вызвать отказ в обслуживании на моем собственном локальном сервере PHP?

Предисловие: я студент бакалавриата по компьютерным наукам, готовящийся к выпуску, но у меня практически нет опыта в веб-разработке и PHP в частности. Извиняюсь за отсутствие знакомства.

Предыстория: я пытаюсь создать простую уязвимость DoS на моем собственном локальном PHP-сервере, на котором запущен XAMPP на 64-битной виртуальной машине Linux (18.04). Чтобы убедиться, что я не просто увеличиваю использование ЦП на виртуальной машине за счет локальной активности, я использую другую виртуальную машину, где я использую скрипт Python вместе с библиотекой «запросов» для запроса уязвимой страницы 10000 раз в цикле. На данный момент уязвимая страница (dos.php) запускает цикл, в котором она добавляет случайное число в список, а затем отображает хэш общей текстовой строки, которая совершенно не связана с предположительно интенсивным использованием ЦП.

Проблема: я узнал, что могу вывести память и использование процессора в браузер (через https://devdojo.com/tutorials/how-to-get-memory-and-cpu-usage-in-php). Проблема в том, что я не смог получить загрузку ЦП на сервере выше примерно 4% … Память занимает примерно 30%. Тем не менее, я знаю, что делаю небольшой кусочек правильно, потому что вижу увеличение с 0-1% до 4%, но ничего больше.

Конечной целью является демонстрация концепции, в которой я показываю, что фаззер (SlowFuzz) может найти эту уязвимость, если он указывает на документ PHP. Как только у меня появится уязвимость DoS, я планирую написать очень простую и намеренно нарушенную функцию. Что-то вроде цикла, в котором пользователь определяет верхнюю границу.

Вот изображение PHP на dos.php:
Код PHP

Заранее спасибо за вашу помощь! Надеюсь, это не слишком глупый вопрос.

0

Решение

Apache можно легко сделать DoS, заполнив его очередь запросов медленными клиентами чтения.
В Apache настроено максимальное количество одновременно подключенных клиентов, и по умолчанию не применяется минимальная скорость чтения для клиентов, поэтому чтение ответа со скоростью 1 байт / сек будет держать соединение открытым очень долго и уменьшит количество повторных соединений, необходимых вашему инструменту DoS. в то же время уменьшая шансы для постоянного клиента пройти.

Современные установки Apache отбрасывают клиентов, которые читают слишком медленно, или отклоняют чрезмерные соединения с одного и того же адреса, чтобы предотвратить подобные атаки. Я не уверен, включает ли это стандартная установка XAMPP.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]