Добро пожаловать, Гость. Пожалуйста авторизуйтесь здесь.
FGHIGate на GaNJa NeTWoRK ST@Ti0N - Просмотр сообщения в эхоконференции RU.HUSKY
Введите FGHI ссылку:


Присутствуют сообщения из эхоконференции RU.HUSKY с датами от 16 Jul 13 10:00:06 до 31 Mar 24 23:49:12, всего сообщений: 5321
Ответить на сообщение К списку сообщений Предыдущее сообщение Следующее сообщение
= Сообщение: 4389 из 5321 ========================================= RU.HUSKY =
От   : Nil Alexandrov                   2:5015/46          29 Mar 21 20:12:56
Кому : Eugene Palenock                                     29 Mar 21 20:12:56
Тема : Готовая DoS-атака на узел через HPT?
FGHI : area://RU.HUSKY?msgid=2:5015/46+60620ee5
На   : area://RU.HUSKY?msgid=2:5020/2065.1@FidoNet+6061ec03
= Кодировка сообщения определена как: CP866 ==================================
==============================================================================
Hello, Eugene!

Monday March 29 2021 18:02, from Eugene Palenock -> Michael Dukelsky:

EP> Итог - накопив в инбаунде 16 бандлов которые не удалось распаковать -
EP> тоссер зацикливается в бесконечной попытке переименований.

Позвольте мне побыть немного инцидент менеджером тут ;-) я сильно привык к конторской терминологии, тут классический SI SEV2, что переводится как сервис инсидент, сивирити 2. Если бы эксплоид работал для непарольных сессий, то явно была бы серьёздность 1го уровня.

Эксплоид: за несколько парольных сессий возможно передать заранее подготовленные "битые" бандлы, которые будут переименованы в 255 различных .tos и .bad, после чего процесс тоссинга будет зациклин - 100% ЦПУ утилизация и логогенерация до полного заполнения диска.

Реализация эксплоида в подконтрольных условиях. В защищённом инбаунде на таргет линукс платформе.
for i in {1..255}; do n=$(printf %x $i); echo -e \\x50\\x4b\\x03\\x04 > 2770de01.b$n; echo -e \\x50\\x4b\\x03\\x04 > 2770de01.t$n; done; echo -e \\x50\\x4b\\x03\\x04 > 2770de01.su0; for i in {1..9}; do cp 2770de01.su{0,$i}; done
hpt toss

Со времени создания багрепорта было предложено два фикса (то, что я видел на гитхабе).
1. 5020/1042 запатчил удаление пустых файлов.
2. 5020/545 запатчил в ветке fixrenamebundles функцию changeFileSuffix для явного перебора всех 255 возможных расширений файла с удалением пустых файлов.

Оба фикса не решают проблемы зацикливания тоссинга hpt/src/toss.c: toss()
    while(processDir(config->protInbound, secProtInbound))
    {}

Пока вы здесь спорите о кашерном переименовании в .bad, с использованием 255 расширений или длинных имён файлов, я предлагаю фикс для эксплоида, который предотвращает зацикливание. Да, последующий запуск hpt toss сного попытается тоссить и переименовывать плохие бандлы, но обход бандлов случается только один раз.

diff --git a/src/toss.c b/src/toss.c
index 1a1d6af7..99ec9562 100644
-+- a/src/toss.c
+++ b/src/toss.c
@@ -2338,7 +2338,6 @@ int processDir(char * directory, e_tossSecurity sec)

         if(pktFile || (arcFile && !config->noProcessBundles))
         {
-            pktCount++;
             rc = 3; /*  nonsence, but compiler warns */

             if(config->tossingExt != NULL &&
@@ -2363,6 +2362,11 @@ int processDir(char * directory, e_tossSecurity sec)
                 rc = processArc(dummy, sec);
             }

+            if (0 == rc)
+            {
+                pktCount++;
+            }
+
             if(rc >= 1 && rc <= 6)
             {
                 w_log(LL_ERR, "Renaming pkt/arc to .%s", ext[rc]);

Best Regards, Nil
--- GoldED+/LNX 1.1.5
* Origin: Киловатт центр первый галина сергей харитон (2:5015/46)

К главной странице гейта
Powered by NoSFeRaTU`s FGHIGate
Открытие страницы: 0.042190 секунды