Старые методы по-прежнему работают


[Обновление] Теперь я в каком-то списке спецслужб, потому что написал статью про некий вид «бомбы», так?

Если вы когда-нибудь хостили веб-сайт или администрировали сервер, то наверняка хорошо знаете о плохих людях, которые пытаются сделать разные плохие вещи с вашей собственностью.

Когда я в возрасте 13 лет впервые захостил свою маленькую Linux-коробочку с доступом по SSH, я смотрел логи и каждый день видел IP-адреса (в основном, из Китая и России), которые пытались подключиться к моей сладенькой маленькой коробочке (которая на самом деле была старым ноутом ThinkPad T21 со сломанным дисплеем, жужжавшим под кроватью). Я сообщал эти IP их провайдерам.

На самом деле если у вас Linux-сервер с открытым SSH, то можете сами посмотреть, сколько попыток подключений происходит ежедневно:

grep 'authentication failures' /var/log/auth.log


Сотни неудачных попыток авторизации, хотя на сервере вообще отключена авторизация по паролю и он работает на нестандартном порту

Wordpress нас приговорил


Ладно, признаем, сканеры веб-уязвимостей существовали и до Wordpress, но после того, как эта платформа стала настолько популярной, большинство сканеров начали проверять неправильно сконфигурированные папки wp-admin и непропатченные плагины.

Так что если маленькая начинающая хакерская банда хочет получить немного свеженьких учёток, они скачают один из этих сканерских инструментов и натравят его на кучу веб-сайтов в надежде получить доступ к какому-нибудь сайту и дефейснуть его.


Образец логов при сканировании инструментом Nikto

Вот почему все серверы и админы веб-сайтов имеют дело с гигабайтами логов, полными попыток сканирования. Так что я подумал…

Можно ли нанести ответный удар?


После экспериментов с возможностью потенциального применения IDS или Fail2ban я вспомнил о старых добрых ZIP-бомбах из прошлого.

Что за штука такая — ZIP-бомба?


Как выяснилось, сжатие ZIP великолепно справляется с повторяющимися данными, так что если у вас имеется гигантский текстовый файл, заполненный повторяющимися данными вроде всех нулей, он очень хорошо сожмётся. В смысле, ОЧЕНЬ хорошо.

Как показал 42.zip, можно сжать 4,5 петабайта (4 500 000 гигабайт) в 42 килобайта. Когда вы попытаетесь посмотреть содержимое архива (извлечь или разархивировать его), то у вас, вероятно, израсходуется всё дисковое пространство или оперативная память.

Как сбросить ZIP-бомбу на сканер уязвимостей?


К сожалению, веб-браузеры не понимают ZIP, но зато они понимают GZIP.

Так что первым делом создадим 10-гигибайтный файл GZIP, заполненный нулями. Можно сделать много вложенных сжатий, но начнём с простого.

dd if=/dev/zero bs=1M count=10240 | gzip > 10G.gzip


Создание бомбы и проверка её размера

Как видите, её размер 10 МБ. Можно было сжать и получше, но пока хватит.

Теперь установим 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;
}

Очевидно, этот скрипт не образец элегантности, но он может защитить нас от скрипт-кидди, упомянутых раньше, которые вообще понятия не имеют, что в сканерах можно изменять user-agent.

Итак… Что будет, если запустить этот скрипт?


Клиент Результат
IE 11 Память расходуется, IE падает
Chrome Память расходуется, демонстрируется ошибка
Edge Память расходуется, утекает, грузится вечно
Nikto Как будто нормально сканирует, но не выдаёт результат
SQLmap Большой расход памяти, затем падает
Safari Большой расход памяти, затем падает и перезагружается, затем опять большой расход памяти и так далее...
Chrome (Android) Память расходуется, демонстрируется ошибка

(если вы проверяли бомбу на других устройствах/браузерах/скриптах, пожалуйста, сообщите мне, и я добавлю результат в таблицу)


Результат загрузки скрипта в Chrome

Если вам нравится рисковать, попробуйте сами!
Поделиться с друзьями
-->

Комментарии (180)


  1. LRC
    07.07.2017 00:29
    +4

    Фидо вспомнилось, давно это было


    1. monah_tuk
      07.07.2017 03:42
      +5

      Аркмыльньная война,
      Коннект V42,
      Модем сошёл с ума-
      Такая связь достала...


      1. igorp1024
        07.07.2017 11:31
        +3

        То ли Би-2 "Полковнику никто не пишет", то ли Земфира "Созрела". :)


        1. monah_tuk
          07.07.2017 12:30

          Первое :)


    1. barbanel
      07.07.2017 15:13
      +4

      Эх, вспомнилась фраза из одной эхо-конференции:
      — ЗаUUEчить бы тебе q3arena.pak!
      — Я тебе щас своп заюючу!


      1. vorphalack
        08.07.2017 23:53
        +1

        «собирайтесь хабы в кучу, щас я своп вам заЮЮчу». ну и таки с развитием fido over ip, народ начал пытаться устроить DDoS ради прикола.


  1. MrFrizzy
    07.07.2017 00:30
    +1

    Читал когда-то про псевдоадминку с логином\пассом admin, которая при входе выдавала пачку эксплоит китов в ответ. Проблемы две:
    1) часто так можно положить чей-нибудь левый хостинг, зараженный малварью, и оказаться крайним
    2) во многих странах «активная защита» приравнивается к хакингу и является уголовно наказуемой. Например, в Германии. И в отличии от нападающих, все данные явно указывают на вас — владельца домена\хостинга, потому что у вас и не было в мыслях как-то срываться…


    1. splav_asv
      07.07.2017 00:37
      +13

      Отправка сжатого файла большого размера это же не активная атака. Это тоже уголовно наказуемо?


      1. MrFrizzy
        07.07.2017 12:22
        +2

        мое личное имхо не юриста: зависит от трактовки законов и правоприменения в стране


      1. funca
        08.07.2017 11:21

        С юридической точки зрения важен умысел. Если докажут, что вы это сделали осознавая, что можете кому-то нанести вред, к вам наверняка будут вопросы. Если докажут, что вы это сделали специально, чтобы наносить вред, будете отвечать.


        1. jaiprakash
          08.07.2017 12:41

          Юридически это самооборона.


          1. funca
            08.07.2017 13:55

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


        1. http2
          08.07.2017 13:28

          Хакер подаст в суд?


          1. funca
            08.07.2017 14:05

            Пострадавший. Это как подключить электрошокер к двери в квартиру, или поставить у входа капкан для воров.


            1. AlexanderG
              08.07.2017 14:44

              Вот не понимаю этого, моя квартира, хочу, чтоб коридоре лежал капкан — кому какое дело до этого?


              1. funca
                08.07.2017 23:47

                Потому, что частная собственность это не столько то, что вы имеете, сколько повод, при определенных обстоятельствах, иметь вас. Или как писал вождь революции: «жить в обществе и быть свободным от общества нельзя.»


              1. impetus
                09.07.2017 00:38

                Напр, за бутылку отравленной водки, «забытой» на столе дачного домика — людей вполне себе сажают. Но там просто — жизнь человека несоизмереима с любым возможным ущербом от воровства в том домике. Почти во всех странах, кстати, сажают, если докажут умысел в отравлении (водки). Причём не за «по неосторожности» сажают, а за «предумышленное».

                Но в данном случае («бесконечный zip-файл»), всё же вряд ли выйдет натянуть сову на глобус.


                1. Zenitchik
                  09.07.2017 01:15
                  +3

                  жизнь человека несоизмереима с любым возможным ущербом от воровства в том домике

                  Это самая большая ошибка современного общества. Жизнь вора не должна стоить ничего.


                  1. equand
                    09.07.2017 14:46
                    -1

                    Это самая большая ошибка современного общества. Жизнь вора не должна стоить ничего.

                    Какая чушь :( Если человек нуждается — значит его жизнь ничего не стоит? Рано или поздно в нужде возникнет необходимость воровства, если нужда не будет перекрыта честным путем. Если же человек уже богат и ворует — то это болезнь и она должна лечиться.
                    Одно дело, если все выжывают и кто-то ворует. Другое дело, когда все живут нормально и кто-то выживает.


                    1. vorphalack
                      09.07.2017 15:03
                      +1

                      вот эти вот все бутылки водки, капканы, итд — это ж против тех, кто НЕ ХОЧЕТ честным путем, и «выживает», профессионально обнося дачные поселки осенью-зимой. либо те же бомжи, которые в массе своей добровольно до этой жизни допились.
                      соответственно возникает встречный вопрос — а почему их жизнь должна чего-то стоить, если они сами ее априори не ценят?


                      1. equand
                        13.07.2017 21:09

                        Потому что иногда они меняют свою жизнь. Иногда алкаш рождает не алкаша. И т.д. и т.п. У меня примеров из жизни и истории хоть отбавляй. Также как и обратных примеров, когда из хорошего в говно уходят. Жизнь и будущие жизни не заменимы, все говно, что вы у себя там храните всегда можно получить.


                        1. vorphalack
                          13.07.2017 22:19

                          не спорю, меняют. если успеют. но несколько сомневаюсь в репрезентативности вашей выборки.

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

                          в общем случае я за то, чтоб те или иные ловушки были в ЛЮБОМ частном доме, который остается без присмотра на заметное время. тогда туда лезть будут либо действительно от отчаяния, либо профессионалы — которых уже никому не жалко.


                          1. equand
                            14.07.2017 10:28

                            А еще шпана будет лазить. Знаю, сам лазил, ничего не брал, хотя пацаны вполне хотели прибрать. Просто желание приключений. Так что не только алкаши и отчаянные лазят.


                            1. Zenitchik
                              14.07.2017 16:57

                              Естественный отбор.


                            1. vorphalack
                              16.07.2017 16:09

                              молодняк всегда найдет чем убиться, способом больше, одним меньше…


                1. Zenitchik
                  09.07.2017 01:33

                  Ещё один нюанс: это могла быть не отравленная водка, а спиртовой раствор какого-нибудь мухомора для наружного применения, в бутылке из-под водки.


                  1. Garrett
                    09.07.2017 14:19
                    +1

                    А надо то было всего лишь снять этикетку, и доказать непредумышлиность было бы в разы проще


                    1. funca
                      09.07.2017 17:07

                      В принципе, легитимное право на насилие есть только у сильныхгосударства. Всех остальных позиция «а ты докажи» автоматически ставит на один уровень с теми, против действий которых это затевается — хоть юридически, хоть морально («преступление и наказание» и т.п.) Исключением является право на необходимую оборону, которое позволяет действовать в момент объективного нападения, если в это время нет возможности получить защиту у уполномоченных лиц; в основном от страха, нежели от злости. Свобода воли дает возможность отступать от принципов, но при этом желательно осознавать ситуацию шире и смотреть на последствия дальше, чем кучка вещей на заветных сотках.


                      1. Garrett
                        09.07.2017 17:45

                        Так можно дотянуть до абсурдного сценария где вор схватив стойку ножей споткнулся и получил несколько ножевых ранений после чего скончался, а виноват владелец квартиры?

                        Или залез в мастерскую и выпил растворителя, там можно много примеров придумать


                        1. funca
                          09.07.2017 19:36

                          В юридическом смысле это как судья решит. Суд не точная наука, а состязательный процесс, где исход зависит не только от принятых в конкретной стране правил игры, которые называются правой системой (где-то прописанными в законах, где-то в базе прецедентов, где-то еще как), а еще кучи других факторов — в одном комменте не расскажешь. В моральном аспекте, владелец наверняка и без этого будет осознавать, с какой целью там оказались ножи и растворитель, и мог-ли предпринять какие-то действия, чтобы не допустить суицида (запрещено в РФ).


                        1. Lennonenko
                          11.07.2017 14:38
                          +1

                          между неосторожностью пострадавшего и вашим умыслом есть конкретная грань
                          если вы на даче оставляете на столе бутылку из-под водки, наполненную метанолом, скорее всего, вы это делаете с умыслом, потому что в противном случае вы написали бы на ней «метанол, осторожно, яд!», чтобы самому не попасть
                          вот если бомж хлебнёт метанола из бутылки с большой и заметной надписью «метанол», хозяину ничего не будет


                          1. iig
                            11.07.2017 18:07

                            А если «метанол» написано большими китайскими иероглифами? Как установить, умел ли при жизни покойный читать по китайски?


                            1. yasmax
                              12.07.2017 08:32

                              У судьи возникнет вопрос: «Зачем вы написали по-китайски, если ваш родной язык русский? Члены вашей семьи все владеют китайским?»


                              1. iig
                                12.07.2017 09:06

                                Гражданин судья, мой подзащитный позавчера записался на курсы китайского, вот справка. КМК, доказывать/опровергать как наличие злого умысла, так и нанесение вреда можно бесконечно. Особенно при наличии контента с огромной степенью сжатия.


                                1. yasmax
                                  12.07.2017 18:10

                                  Вот для решения таких вопросов и взвешивания аргументов придумали несколько тысяч лет назад судью. Он и будет взвешивать доводы.

                                  И никакой неопределенности нет. То, что в бутылке смертельная отрава, посудимый знал. Сообщать другим не собирался. Поместил в место хранения продуктов. Виновен. Единственная справка, которая нужна подсудимому, это справка о психической неполноценности для смягчения приговора.


                            1. Lennonenko
                              14.07.2017 00:12

                              здравым смыслом
                              в наших судах его зачастую не хватает, но мы же теоретизируем


            1. http2
              08.07.2017 20:53

              Пострадавший хакер?
              «А нас за что?» :)


              1. funca
                08.07.2017 23:38

                Кто пострадает, если какой-нибудь шутник в комментах разместит ссылку (бесплатно, без sms) на вашу чудо-западню? Или накатает жалобу в РКН спортлото по приколу — вон люди массово сообщают, что при заходе на определенные урлы нарушается работа их компьютеров.


                1. jaiprakash
                  09.07.2017 00:01

                  Чудо-западня которая аж обваливает браузер!

                  Размер файла настраивается, можно сделать недопустимый для дешёвых шаред хостингов, откуда идёт большинство атак, и приемлемый для ПК.


                1. http2
                  09.07.2017 01:48
                  +1

                  1. Ну в способе автора под угрозу действительно попадает браузер.

                  Я бы просто отдавал zip файлик без доп. заголовков.
                  А чучело, которое решило его запросить, пускай самостоятельно разархивирует его. То есть браузеру показалось бы диалоговое окно сохранения.
                  Дальше пусть включает мозг.
                  Я бы поступил бы так просто потому, что хакер не будет вручную вбивать адреса в браузере.

                  2. А нефиг переходить по сомнительным ссылкам.

                  3. Поэтому у меня пострадал бы только хакер, ну или тормозогло.
                  Да и то не сильно.
                  Ну закончилось бы у него место на винте, ну подумаешь.

                  4. Если пострадает тормозогло, то будет надежда, что следующий раз будет думать головой.


                  1. funca
                    09.07.2017 17:13

                    Похоже, что вы сейчас либо изобрели оружие, которое действует исключительно против негодяев и дураков (до которого пока еще ни кто в мире не додумался и надо срочно патентовать). Либо где-то заблуждаетесь.


                    1. http2
                      09.07.2017 17:53

                      Вы никогда ранее не скачивали с сайтов архивы? :)


                      1. funca
                        09.07.2017 19:18
                        +1

                        Вопросы в присутствии адвоката, товарищ майор)


      1. DistortNeo
        08.07.2017 16:44

        Даже если это и атака, то какой ущерб будет нести пострадавшая сторона? Ведь вред не наносится.


      1. SandmanBrest
        09.07.2017 14:38
        +1

        Раньше подобное антивирусы диагностировали как угрозу mail-bomb или что-то вроде этого.


    1. Akuma
      07.07.2017 01:20
      +20

      Чисто технически — это не атака. Просто старница размером в 10 Гб. Не могут скачать? Ну не мои проблемы :)


      1. LynXzp
        07.07.2017 03:05
        +2

        Правда и эксплоиты это не что-то сверхъестественное, просто специальная страница в которой странная разметка. Можно было бы отличать по наличию байт-кода, но тоже недостаточно, без байт-кода можно вызвать segfault.


        1. GennPen
          07.07.2017 08:03

          Эксплоит использует уязвимости в программном обеспечении.


          1. Keyten
            07.07.2017 13:01

            А как уязвимости определяются юридически? Нельзя ли неумение обработать слишком большой файл без вылета считать уязвимостью?


            1. AllexIn
              07.07.2017 17:15

              Если при этом не происходит доступа к данным или поломки данных — то нет.


        1. Akuma
          07.07.2017 11:17

          Как с казали выше — эксплойт использует уязвимости, чтобы получить доступ туда, куда в обычном режиме досутп нет, например.

          Большая гзипованая страница — это просто большое количество нулей. Браузер самостоятельно его запросил с целью обработать.


          1. LynXzp
            07.07.2017 14:33

            Эксплойт не обязан получать доступ туда куда его нет, это конечно лучший для взломщиков вариант, но даже экспойт позволяющий загрузить процессор уже является эксплойтом. Пример: в ХР н-сот раз в секунду вызывать beep. (Из-за того что внутри полный бардак один вызов beep вызывает сотни других вызовов в т.ч. в ядре и перегружает ОС)

            Хороший пример «просто большой страницы ссылки» для ACUNETIX ссылка длиной 268 байт крашит программу (далеко не 10Гб, да?):

            Further Analysis reveals that if one of the external domain name length is more than 268 Byte’s, ACUNETIX will be crashed, so if we want to cause a crash, all we need to do is to put some kind of external source at our site, which have the length of 268 Byte’s or more
            Обычное переполнение, которое в случае подсовывания ссылки с байт-кодом позволяет получить управление. Источник.


      1. eri
        09.07.2017 19:32

        Эту страницу могут вставить iframe-мом или картинкой в другой сайт и тут уже это выглядит как подстава. Если глубоко не копать — то ваша бомба будет ломать чужой сайт.


        1. alix_ginger
          10.07.2017 11:03

          Если кто-то разрешил встраивать iframe с посторонних доменов, то эта zip-бомба — не худшее, что может произойти. А если в img src добавить ее адрес, браузер после получения заголовков без Content-Type: image/smth не станет загружать ее, насколько я понимаю.


          1. eri
            10.07.2017 11:27

            Согласен что проблема не самая страшная, но одна из.

            Да и можно подставиться специально.
            Встречал такую практику: есть 2 конкурента малого бизнеса. один на своем сайте ставит 5 ифреймов от сайта конкурента, тем самым нагружает диск, сеть и процессор конкуренту. Плюс к тому конкурента понижают в выдаче за накрутку.


  1. apkotelnikov
    07.07.2017 00:35
    +1

    Открыл с мобильного хрома, с включенной «экономией трафика»… Задумался скольким хаброжителям нужно одновременно попробовать сходить по вашей ссылке для достижения ощутимого эффекта и как потом гугл будет «отмазываться» ))


    1. x67
      07.07.2017 11:48

      Учитывая, что у гугла в браузерах это ловится лучше всего, наверняка о своих серверах они позаботились и поставили разумные ограничения на используемую память)


  1. impetus
    07.07.2017 00:41

    Если вам нравится рисковать, попробуйте сами!
    Comodo Dragon поднял окно: «Подтвердите действие на blog.haschek.at: Do you really want to execute the gzip bomb? your device may freeze up»
    Или это сайт там даёт предупреждение от случайности?


    1. LynXzp
      07.07.2017 00:43
      +2

      Это js на сайте.


    1. impetus
      07.07.2017 00:50
      +2

      Выжрал ~гиг оперативы (отдельным процессом c низким приоритето), сбросил и написал: «Опаньки… Не хватает памяти для показа этой страницы»


  1. LynXzp
    07.07.2017 00:43
    +4

    Firefox прошел испытание хорошо. Сначала быстро набрал в весе до 10Гб (многопоточная распаковка), а потом постепенно (с загрузкой одного ядра) высвобождал память обратно. Opera12 — как будто я открыл обычный сайт легонько перегруженный js — загрузка одно ядра 10%, памяти стала занимать на 100мб больше.
    Перевод хороший, я не успел буквально последние два абзаца, хотя и есть неточности, оригинал просто просит чтобы его улучшили.


    1. monah_tuk
      07.07.2017 03:45

      Тоже больше 10 гиг памяти? У меня 16 — тоже переварил нормально, даже лагов в системе не заметил.


    1. KorDen32
      07.07.2017 11:30

      Аналогично, 16 Гб RAM, FF 54 x64, Win 7, дошло до 10 Гб при загрузке двух ядер из четырех на 100%, и до 10 Гб RAM, затем высвободилось.


    1. DistortNeo
      07.07.2017 23:55

      Аналогично. Но есть проблема: теперь Firefox после перезапуска раз в ~3 минуты выжирает 10 гигов, а затем медленно их отдаёт.


      1. LynXzp
        08.07.2017 00:47

        Отключение ghostery мне помогло. (Списались с DistortNeo в личке, у него точно так же)
        Удаление из истории bombp.php вопрос не решает. Так что будьте аккуратнее заходя с включенным Ghostery.


        1. LynXzp
          08.07.2017 01:16

          Разобрались, чтобы исправить нужно закрыть Firefox и удалить файл .mozilla/firefox/u0ixn7m5.default/browser-extension-data/firefox@ghostery.com/storage.js из домашней папки (у каждого конечно путь немного отличается).

          Что наводит на подозрения, так это то что Ghostery который призван защищать приватность, сам хранит собственную историю посещений…


          1. sumanai
            08.07.2017 01:34

            Что наводит на подозрения, так это то что Ghostery который призван защищать приватность, сам хранит собственную историю посещений…

            А чего вы ожидали от дополнения с закрытым исходным кодом?


            1. LynXzp
              08.07.2017 01:39

              Ну по крайней мере что оно не будет хранить историю в открытом виде или само ходить по ней. Печально. Спасибо, придется пересмотреть чего я там еще понаустанавливал.


    1. Flowneee
      09.07.2017 14:39

      8 гигов памяти, все нормально, FF набрал на 6.6 гигов в весе, потом постепенно освободил память, музыка на соседней вкладке даже не прекратилось, только интерфейс тормозил немного


    1. Vespertilio
      09.07.2017 14:39

      В макоси сработало сжатие ОЗУ на вкладке.


  1. chem_ua
    07.07.2017 00:49

    Opera 46.0.2597.39. продержалась 19 секунд и выдала:
    Недостаточно памяти
    Браузеру Opera не хватает памяти, либо выполнение процесса для страницы прекращено по какой-то другой причине.


  1. algotrader2013
    07.07.2017 00:50
    +3

    интересно, можно предположить, что если бомба срабатывает, то должна радикально снизится интенсивность повторных попыток аутентификаций с того же адреса


  1. vanburg
    07.07.2017 03:09

    То же самое хотел спросить.
    Плюс если отправлять бомбу взломаным хостам, то у их владельцев уже 2 попоболи.


  1. IGHOR
    07.07.2017 03:33

    По вашей ссылке https://blog.haschek.at/tools/bomb.php?bombme=true gzip размером 1.7Гб а не 10 Гб.
    И наверно лучше сжимать командой gzip с параметром --best


    1. IGHOR
      07.07.2017 03:42
      +1

      При распаковке получилось 10 гб, что-то не так отображением размера в BetterZip


    1. IGHOR
      07.07.2017 03:49
      +2

      С ключем --best весит так же, но распаковывается в 4 раза дольше.


  1. fog
    07.07.2017 06:41
    +3

    А какой в этом смысл?

    Большинство таких атак выполняется скриптами с зараженных компьютеров, даже если скрипт и станет распаковывать зип (если поддерживает, ведь не зачем особо, обычному сайту если не сказать что ты его поддерживаешь, то он не станет упаковывать ответ) — то что? У владельца зараженного компьютера компьютер тормозить начнёт?


    1. vintage
      07.07.2017 07:54
      +9

      И тут владелец что-то заподозрит...


      1. fog
        07.07.2017 08:46
        +1

        С большей вероятностью скрипт атаки просто не станет слать гзип хедеры, ожидать гзипованного ответа и его распаковывать. И ничего не произойдёт.


        1. zapimir
          07.07.2017 12:00
          +5

          Ну так запросы без gzip залоговков можно сразу слать в баню :)


    1. fog
      07.07.2017 09:01

      И да, проверил на своей машине, i7-7700K/16GB RAM — хром пытался открыть примерно 15 секунд потом сказал что ran out of memory while trying to display page и всё. Процессор был занят на четверть, памяти заняло максимум 20 процентов, после того как хром прекратил попытки загрузить страницу — все ресурсы моментально вернулись, т.е. практически ничего не произошло.


      1. zapimir
        07.07.2017 12:04
        +1

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


    1. alex0nik
      07.07.2017 09:35

      Мне штука понравилась, попробую «заложить бомбы».
      Как например, если разложить таких огромных файлов в нескольких стандартных местах, как /admin/, /login/, /wp_admin/ ну и т.п., скрипты сканеров с большой вероятностью их захватят и повиснут из-за нехватки памяти, а значит перестанут сканировать сайт дальше.
      Причем файл может быть 1 — сделать на него символические ссылки.


  1. kumbr_87
    07.07.2017 07:43
    +3

    Гугл переводчик не дает открыть страницу :)


  1. shaytan
    07.07.2017 08:51

    Palemoon x64 @ Win10 занял одно ядро из четырех. Память без изменений, на десяток вкладок ~350Mb. Вкладка с бомбой показывает анимацию загрузки некоторое время, потом просто белый экран и всё, ядро освобождается. Всё время система и браузер отзываются нормально, остальные вкладки продолжают нормально работать, можно открывать новые.


  1. DarkByte
    07.07.2017 08:56
    -1

    После анализа лог файлов решил влепить в конфиг nginx такой костыль:

    location ~* "^/(archive|auth|backup|clients|com|dat|dump|engine|files|home|html|index|master|media|my|mysql|old|site|sql|website|wordpress)\.zip$" {
    default_type application/zip;
    root /usr/www/dummy;
    rewrite ^(.*)$ /r.zip break;
    max_ranges 0;
    limit_rate 2;
    }

    Аналогично для gz и tgz. Правда в моём случае принцип бомб немного другой, внутри архива другой архив, и так до бесконечности. Наверное имеет смысл к такой бомбе добавить ещё и большой пустой файл, чтобы побыстрее память кончалась у атакующей жертвы.


    1. fog
      07.07.2017 09:03
      +6

      А кто это всё будет распаковывать входя в следующий архив до бесконечности?


      1. DarkByte
        07.07.2017 09:38

        Тот, кто скачал.


    1. Kostiantyn
      07.07.2017 09:35
      +4

      Думаю сначала нужно понять разницу между скачиванием файла архива и архивацией отдаваемого потока данных.
      https://en.wikipedia.org/wiki/HTTP_compression


      1. DarkByte
        07.07.2017 09:38
        -1

        Допустим я в курсе. И что?


        1. avost
          07.07.2017 13:02
          +4

          Вероятно то, что даже если скрипт-зловред скачает ваш r.zip у него не будет ни одной причины пытаться его распаковывать. Или вы полагаете, что таки придёт надзирающий за скриптом скрипт-кидди, увидит скачанный файл и из любопытства полезет в него ручками? Но зачем ему это?


          1. DarkByte
            07.07.2017 13:15

            Не знаю даже, зачем сканеры бродят по интернету и пытаюсь скачать backup.zip и прочие перечисленные файлы. И они не просто проверяют их наличие, а скачивают их зачем то. Предполагаю, что после загрузки они их распаковывают, и не знаю даже почему, но мне думается, что некоторые это делают автоматически. Можно даже предположить, что некоторые из них делают это рекурсивно, составляя список файлов содержимого архива. И да, это не тот же самый способ, который описан в статье, это просто из той же оперы — приколов над сканерами и ботами.


            1. GennPen
              07.07.2017 13:37

              Предполагаю, что после загрузки они их распаковывают, и не знаю даже почему, но мне думается, что некоторые это делают автоматически. Можно даже предположить, что некоторые из них делают это рекурсивно, составляя список файлов содержимого архива.
              Подсунуть им рекурсивный zip-архив или архив в 42 КБайт который после всей распаковки занимает 4.5ПБайт, пусть подавятся.


              1. DarkByte
                07.07.2017 13:44

                Именно указанные в статье рекурсивные zip/gz/tgz архивы сейчас и отдаю, в надежде что их кто-нибудь, когда-нибудь распакует до конца.


            1. zapimir
              07.07.2017 13:52

              Разница в том, что когда сканеры запрашивают backup.zip они и ожидают увидеть ZIP.


              1. DarkByte
                07.07.2017 13:55

                Так сервер и отдаёт zip. Конкретнее r.zip, его можно скачать по ссылке на статью «рекурсивный zip-архив» комментарием выше.


            1. avost
              07.07.2017 16:29

              Ну, они же что-то конкретное ищут, а не просто весь мусор собирают по интернету. если б я писал что-то подобное, то делал бы что-то вроде:
              unzip -l backup.zip ¦ grep etc/passwd
              но могут быть и совсем глупые скрипт-кидди, конечно.


        1. zapimir
          07.07.2017 13:30

          Разница в том, что отдача ответа в виде gzip это естественная реакция сервера. Тут получается неожиданным только размер этого самого ответа, и для клиента ответ выглядит, как будто очень большая html страница пришла (ну мало может там где-то ошибки в цикле выпадали). А поскольку сканеру нужно прочитать, что же там в ответе. Нужно сразу сделать декомпрессию. И тут уже зависит от конкретной реализации. А учитывая, что в основном разработчики не ожидают такой подставы, то декомпрессия ответа идет в лоб, т.е. тупо в память на лету, не делая декомпрессию только начала ответа или прочих оптимизаций.
          А в случае с zip сканер видит левый Content-type, и либо вообще не читает ответ с таким типом дальше заголовков, либо скачивает, но ничего с ним дальше не делает (так как для этого в отличии от первого случая, нужно отдельно обрабатывать конкретно zip, а в сканере вероятно даже нет zip-ридера).


          1. DarkByte
            07.07.2017 13:40

            Разница в том, что подходы разные. В моём комментарии описано совсем не тоже самое, что в статье. И в моём случае скорее прикол в limit_rate, чем в зип-бомбе. И действительно не будет проблем с занятой памятью при попытке скачать файл. Просто файл будет качаться очень долго.

            Про левый content-type не понял. Если клиент запросил zip файл, то чем его может тип application/zip не устроить? Форматирование комментариев хабра съело строку. Если что, то строка выглядит так:

            "^/(archive|auth|backup|clients|...|site|sql|website|wordpress)\.zip$" {


            1. zapimir
              07.07.2017 13:55

              Ну да у вас location обрезается, и складывалось ощущение, что вы вместо html страничек отдаете zip-ы.


    1. mayorovp
      07.07.2017 12:11

      А почему rewrite вместо try_files?


      1. DarkByte
        07.07.2017 12:26

        Возможно в данном случае правильнее было бы использовать try_files, но по-моему разница между rewrite break и try_files не принципиальна.


  1. x88
    07.07.2017 09:29

    Я написал (реверс) прокси-прослойку между php-fpm и точкой входа, анализирующую источник, uri, параметры запросов на предмет наличия XSS, инъекций. Успешно оберегаются даже дырявые скрипты. В планах полное покрытие OWASP. Если кому то необходимо, обращайтесь за бинарниками.


    1. renesanso
      07.07.2017 11:49

      Есть подобные вещи для apache2 и nginx https://habrahabr.ru/post/228339/ https://github.com/SpiderLabs/ModSecurity-nginx https://habrahabr.ru/post/145241/

      Хотелось бы узнать, чем Ваше решение лучше, и можно ли получить исходники (с точки зрения безопасности, запускать чьи-то бинари в продакшене — это не вариант)?


    1. mayorovp
      07.07.2017 12:13

      Чем полнее покрытие у таких вот штук — тем вероятнее что что-то сломается.


    1. dkirzhner
      07.07.2017 15:13

      Joomla 1.5 защищает?
      Можно посмотреть?


      1. x88
        07.07.2017 18:03

        Пока тестируем на WP и легаси скриптах, которые пришлось запустить


        1. renesanso
          08.07.2017 00:00

          Так будет народу ссылка на github или нет? :)


    1. selivanov_pavel
      08.07.2017 00:13

      Вы написали собственный Web Application Firewall? Их уже существует достаточно много, из открытых — ModSecurity(для apache и nginx) и Naxsi(только для nginx). Чем больше — тем лучше, выкладывайте свой куда-нибудь на github


  1. IvanGur
    07.07.2017 09:35
    +1

    Не ZIP бомба, а даже скорее наоборот, но очень эффектно работает:
    https://www.netfilter.org/projects/patch-o-matic/pom-external.html#pom-external-TARPIT


  1. mike_y_k
    07.07.2017 09:35

    Спасибо за перевод и за напоминание ;).
    Хорошо забытое старое и отличный метод не только для WP.


  1. lightmg
    07.07.2017 09:35

    Edge сначала подвис, продолжая кушать оперативку, а потом просто выдал тот же алерт, что и при открытии страницы был.


    1. vesper-bot
      07.07.2017 11:53

      Он упал, "втихаря" переоткрыл вкладку и заново загрузил предыдущий URL. IE11/Edge так себя ведут при фатальных ошибках или срабатывании watchdog timer на какой-либо вкладке.


  1. Cenzo
    07.07.2017 09:35

    truncate вместо dd не пробовали для создания большого файла?)


  1. mSnus
    07.07.2017 09:35
    +2

    Броузеры понятное дело, качают целиком. Но надо быть совсем тупым скрипт-кидди, чтобы не ограничить длину читаемого буфера хотя бы 8К… тем более, если парсишь сотни страниц.


  1. winmasta
    07.07.2017 09:35
    +1

    grep 'authentication failures' /var/log/auth.log

    ни одной попытки

    Linux Mint Chrome Версия 57.0.2987.133 (64-bit)
    Тупо долго писал файл на диск, с притормаживаниями конечно, но работать даже можно было. При закрытии вкладки долго удалял. В терминале вообще без проблем.


    1. copyhold
      07.07.2017 14:48
      +3

      ни одной попытки

      Неуловимый Джо, это вы?


      1. winmasta
        07.07.2017 14:55
        +1

        )) юмор понял, но нас таких с нестандартным, но > 65000 портом много


  1. mtt
    07.07.2017 09:40
    +1

    Интересно, как будет работать оборудование, скажем у конечного провайдера, которое гипотетически сохраняет весь траффик пользователя? По сети реально передается 10 мегабайт, но чтобы понять содержимое их нужно распаковать. Если есть возможность сохранять их в нераспакованном виде, то это будет просто помойка неиндексированной информации, не поддающейся анализу. А если распаковывать и анализировать, то этому гипотетическому провайдеру понадобятся эти самые петабайты.


    1. Areso
      07.07.2017 09:56

      А зачем провайдеру это анализировать? Хэш подобьет и будет из кэша отдавать. А анализировать уже другие люди будут, если заинтересуются.


      1. mtt
        07.07.2017 10:02

        Как провайдер будет понимать, что файл не изменился? Никаких заголовков разрешающих кэширование не передается


        1. sumanai
          07.07.2017 17:08

          Если хеш не изменился, то и файл не изменился.


          1. mtt
            07.07.2017 17:27

            Если никакие специальные заголовки не используются, то чтобы понять что хеш не изменился нужно скачать файл и посчитать его хеш. То есть скачивание с сервера полного файла всё равно произойдет.
            А вообще, я ни разу не встречал такого провайдера, который бы кэшировал абсолютно весь контент всех юзеров на основе хешей. Да, сервисы вроде cloudflare умеют это делать, но это специальный случай, во всех остальных вариантах запрос без кэширующих заголовков всегда дойдет до сервера


            1. sumanai
              07.07.2017 18:26

              Я думал, этот вопрос относился к закону яровой.


              1. mtt
                07.07.2017 18:32
                +1

                Вопрос технический, как современное оборудование записывающее траффик пользователей поступает с gzip компрессией: распаковывает или нет?


                1. artskep
                  09.07.2017 14:52

                  Трафик по уму (и закону, ЕМНИП) должен писаться весь. Ибо даже в «чистом» TCP
                  payload стеганографически передать можно очень много чего — я уж не говорю об уровне HTTP.
                  А вот какое оборудование используется, используется ли и пишет ли оно что-нибудь вообще — это вопрос на который ответ мы навряд ли узнаем.


  1. l3xx
    07.07.2017 10:02

    Я думаю что можно использовать /dev/urandom и архив не нужен


    1. vesper-bot
      07.07.2017 11:54
      +8

      Тогда сам себя заддосишь, так как забьешь канал на передачу.


  1. 152rus
    07.07.2017 10:02

    старенький комп, i3-2105, 4GB, Linux 4.10.0-26, webbrowser-app 0.23+17.04.20170321-0ubuntu1 похрустел винтом и почти сразу выдал ошибку: Что-то пошло не так при отображении https://blog.haschek.at/tools/bomb.php?bombme=true


  1. Lamaster
    07.07.2017 10:43

    Links подвис после скачивания 2.7mb
    Lynx успешно скачал и распаковал весь архив не задействовав даже 100 метров. У меня IntelliJ Idea, AndroidStudio и Chrome каждый кушают больше.


  1. kovserg
    07.07.2017 10:43

    А в другом направлении работает?


  1. mihmig
    07.07.2017 10:44

    А яндекс и прочие браузеры не начнут считать сайт заражённым вирусом?


  1. ExplosiveZ
    07.07.2017 10:47

    Firefox 54 amd64, 1 ядро загрузилось на 100% и так было до конца загрузки, в системе было занято всего 1.7gb, эта отметка так и не сдвинулась с места.
    Во время теста:
    во время теста
    После теста:
    после теста
    p.s. открыто 12 вкладок, 15 расширений.


    1. Chosen0ne
      09.07.2017 14:39

      То же самое, никаких ошибок, тормозов и прочих негативных эффектов. Просто тихо открылась в фоне.


  1. Alesh
    07.07.2017 10:53
    +5

    Это же детский сад, причем младшая группа:
    Ну во первых «Я сообщал эти IP их провайдерам», это просто супер) Но вряд ли большинство владельцев этих IP даже подозревают, что имеют какой-то IP адрес.
    Второе, такие «закладки» будут иметь смысл только для «борьбы» с «хакерами», находящимися на том же уровне, что и админы настраивающие root по ssh с паролем «123qwe».


    1. den_golub
      07.07.2017 13:24
      +1

      админы настраивающие root по ssh с паролем «123qwe».

      Ну что началось нормально же общались… </sarcasm off>


    1. Daniyar94
      07.07.2017 20:07

      я бы лучше сказал просто «админы настраивающие root по ssh с паролем»


  1. dmitry_dvm
    07.07.2017 12:35

    Хм, эдж не отвалился, а вот Adguard что-то подзалип.

    Заголовок спойлера
    image


  1. Andronas
    07.07.2017 13:26

    Наверно что то не понимаю но почему сканер должен скачать эту вашу zip бомбу


    1. jamakasi666
      07.07.2017 14:02
      +1

      gzip в браузере используется для сжатия. Типа вместо того чтобы передавать 100 мегабайтов html странички сервер ее жмет в gzip, передает клиенту в браузер, браузер достает ее из gzip и показывает. В общем смысл в том что браузер автоматически распаковывает содержимое и пытается отобразить но т.к. распаковывать придется 10 гб то велика вероятность что браузер\программа упадет из за нехватки ОЗУ. Как то так в общем и целом.


      1. TheOleg
        08.07.2017 05:53

        Но ведь как мне помнится, тот же nikto, просто проверяет ошибка вернулась или нет, не залезая в сам файл.


  1. vlreshet
    07.07.2017 13:50
    +7

    Помню был пост о мужике который сделал «файл» типа db.backup.zip, который отдавался с мизерной скоростью, запрещал докачку, и по факту бесконечно отдавал /dev/urandom. И холодными зимними вечерами автор попивал пиво и смотрел на логи, и на то как кто-то докачивал уже 60гиг.


    1. baldr
      08.07.2017 00:49

      https://habrahabr.ru/post/272261/


  1. StagNEz
    07.07.2017 13:53

    Yandex-браузер, Win10, 8GB RAM + SSD. Три раза сбрасывал память, потом выдал ошибку и невозможности отобразить страницу. Ничего не подвисало и не влияло на работу остальных программ
    image


  1. maxfox
    07.07.2017 13:53

    Chromium под Linux загружает одно ядро в течении пяти секунд, расход памяти вырастает до 1.5Гб (С 750Мб). Через пять секунд выдает ошибку «Something went wrong while displaying this webpage».
    Python-скрипт с requests.get выжирает всю доступную пямять, после чего убивается системой.
    Curl без параметров просто скачивает 10Мб файл.
    Curl c --compressed выжирает всю доступную память и одно ядро и честно сохраняет 10Gb файл. Около 30 сек.
    Вообще, для простых сканеров уязвимостей это может действительно стать проблемой, скорее всего процесс будет убиваться системой, как в случае с python-скриптом. Но пофиксить это будет несложно.


  1. Xlab
    07.07.2017 15:04
    +1

    «Дефейс», «Скрипт-кидди» — респект за терминологию моего любимого журнала детства.


    1. TheOleg
      08.07.2017 05:55

      Дак это ж ещё с 2000 термины http://www.zdnet.com/article/script-kiddies-the-nets-cybergangs/


  1. exit999
    07.07.2017 15:52
    -5

    Google Chrome 59
    Перед запуском страницы явно спрашивает:
    Do you really want to execute the gzip bomb? your device may freeze up
    OK Cancel


    1. nightvich
      07.07.2017 16:13
      +8

      Продолжайте думать, что это вам хром сказал.


      1. exit999
        07.07.2017 16:29
        -5

        Ну я это к тому, что Хром анализирует содержимое и не запускает просто так. Так что «Бомбой» для него этот способ можно назвать с большой натяжкой.


        1. atomlib
          07.07.2017 16:54
          +7

          Вот код страницы:

          <script>
                  var r = confirm('Do you really want to execute the gzip bomb? your device may freeze up');
              if (r == true) {
                 document.location.href='?bombme=true'
              }
              </script>


  1. relia
    07.07.2017 16:29
    -2

    Не надо путать сами знаете что с пальцем:

    Это никакая не защита, а просто «бомба», на которой чаще всего может «подорваться» хакер, но так же и абсолютно невинные. Просто еще один рассадник какашек в Интернете.

    PS
    В свое время, после 3-го за полгода дефейсинга моего сайта, решил эту проблему намного проще — ушел с Wordpress на другую CMS.


    1. mayorovp
      07.07.2017 16:54
      +1

      Зачем "абсолютно невинный" станет заходить в несуществующую админку чужого сайта?


      1. relia
        07.07.2017 16:57

        Криворучки иногда ТАААКИЕ URL набивают, что на голову не налазит :)


        1. avost
          08.07.2017 01:35
          +2

          Если некто желает получить странного, то он его и получит. Не вижу проблемы.


          1. relia
            09.07.2017 13:21
            +3

            Если некто желает получить странного, то он его и получит. Не вижу проблемы.

            Согласен:

            Берем ссылку на «твою» бомбу, оформляем короткой ссылкой вида goo.gl/… и постим ее в Твиттере с текстом вроде «Только в течение 10 дней Google дарит на 2 года 1ТБ места на Google Drive зарегистрировавшимся по этой ссылке» на 6...8 языках. И потом можно запасаться попкорном в ожидании что произойдет быстрее: хостер от вала abuse reports потушит твой сайт или его пессимизируют поисковые системы. :)


            1. equand
              09.07.2017 14:58

              От второго защитить robots.txt от первого здравый хостер.


              1. relia
                09.07.2017 15:12

                Хостер и будет защищать. Через потушение сайта до дальнейших разбирательств.
                robots.txt защищает от пессимизации поисковыми системами? рукалицо…

                PS
                Почему здесь школота может минусить то, что ставит под сомнение ее «право» на гадости, а я даже плюсануть никому не могу? :))


            1. avost
              09.07.2017 15:52
              -1

              … а в Киеве дядька. Я вам даже больше скажу, если вы произведёте акт дефекации на красной площади, то вас заабьюзят почти немедленно. И это тоже не имеет ни какого отношения к обсуждаемой теме. ;)


      1. iig
        08.07.2017 13:30

        Если на хосте сайта на WP нет — смысла грузить бота бомбой не вижу. Разве что из мелкопакостных побуждений :). Если сайт есть, но админка переименована — рано или поздно найдут и постучатся.


        1. jaiprakash
          08.07.2017 13:49

          Чтобы владелец/хостер заражённого сайта заподозрил неладное и принял меры.


  1. frees2
    07.07.2017 17:56

    Когда то решил отделить роботов от людей, было ещё лет 10 назад, если не раньше. Все правильные боты были тогда известны поимённо, списки составляли. Своих ботов пропускать — чужих не пущать.
    Кстати, гугловские роботы обходят удалённые пол года назад файлы, которые им почему то понравились.

    Okja.2017.720p.webrip.x264-strife.mkv
    2,63 ГБ (2 830 701 235 байт)
    записал в .gzip
    2,62 ГБ (2 824 789 599 байт)
    wp-login.php
    Кажить какой то сервер уже полетел, вообще не приходят.


    1. mayorovp
      07.07.2017 20:41

      Ссылки в инете на эти файлы остались, вот и стучится робот.


      1. frees2
        07.07.2017 22:06

        Так понятно, можно гугл нечаянно подставить.
        В давности, когда делал выборку, гугла бота решил на текстовую страничку отправлять, но бот таки выследил и письмо прислал, мол, гугл перестанет рекламу показывать и конкретную причину указал. Таки наказал, перестал свои ролики загружать мне во флеш.

        Есть такие которые имитируют гугл в заголовках USERAGENT, 'PHP Bot'

        Ещё кроме wp боты прокси всякие ищут.
        proxy.php' not found or unable to stat


  1. iig
    07.07.2017 18:54
    +3

    Статья началась с попыток подбора пароля по ssh


    grep 'authentication failures' /var/log/auth.log

    , а закончилась "бомбой" вместо админки Wordpress :(


  1. selivanov_pavel
    08.07.2017 00:34
    +1

    Смысла устраивать какие-то проблемы сканирующим вас хостам я не вижу — этот как убивать комаров в лесу: сил и энергии потратишь много, а толку чуть. Надо брызгаться репеллентами(писать защищённые приложения) и спокойно ходить по лесу. В крайнем случае — надевать накомарник(Web Application Firewall).


    Но мне нравится идея, что таким образом можно сильно нагрузить аппаратуру провайдера, использующего DPI. И по изменению времени отклика косвенно определить, имеется ли там этот самый DPI. Ели реализация DPI кривая — может даже получится положить это оборудование на короткое время, что уже 100% скажет об использовании DPI.


    1. frees2
      08.07.2017 09:37

      wp-login.php
      Ну вот смотрю с утра, таки всех убил роботов, одним ударом терминаторным! Чё то у них сломалось, там были разные адреса, но видимо машина одна или несколько.
      В общем в день было около пяти-десяти wp.


  1. alex946
    08.07.2017 10:52

    Помнится, когда-то давно, когда деревья были ниже, а винда зеленее, я отправлял любителям подбирать пароли двухмегабайтный «пинг смерти». Очень, очень было эффективно.


  1. jaiprakash
    08.07.2017 11:04
    +1

    Есть ещё один момент: у меня хостер периодически проверяет архивы на вирусы (и ругается на логи апача с неудачными попытками инъекций). Хотя 10 Гиг это не 4,5 ПБ, может и прожуёт.


  1. Wyrd
    09.07.2017 01:32

    Chrome/iOS — «при работе с этой страницей произошла ошибка». Ничего страшного не случается.


    1. Wyrd
      09.07.2017 01:34

      Safari/IOS — тоже самое


  1. frees2
    09.07.2017 13:31

    Скрипт немного недоделанный. Бота имитирующего браузер как ни странно трудно сделать, если на php, надо два curl использовать, сначала читать заголовок, первый определяет по заголовку странички print_r, паре строк надо туда лезть или нет… Ну да ладно. Надо отделить ботов от браузеров.

    Chrome/iOS — «при работе с этой страницей произошла ошибка».
    У меня ошибку не выдает. Но роботы пропадают.


    1. iig
      10.07.2017 10:59
      -1

      Немного js на страничке — и бот идет в лес.


  1. Skit25
    11.07.2017 14:36
    -1

    А если?

    // ...
    sleep(3600);
    // ...
    


    Если время ожидания не истечет, то отослать sendBomb();


    1. http2
      11.07.2017 16:02

      И устроить самому себе DDOS :)


      1. Skit25
        11.07.2017 16:21

        Век живи — век учись!
        Да, бредовая идея. Пойду учить мат часть.


  1. saaadel
    11.07.2017 16:43
    -1

    ИМХО, чтоб не засудили, надо что бы было предупреждение об угрозе — как при входе на участок «осторожно злая собака». Более общее — «входить запрещено, опасно для жизни. И мельче: входя без разрешения вы автоматически соглашаетесь с условиями и несете ответственность за свою жизнь на участке...» (конкретней юрист сформулирует, по формату «AS IS»). И там уж пей метанол в «водке» или еще какую дрянь — вас предупреждали.

    В контексте вашего кода, его бы усложнить, и на первую попытку выдавать текст — «бла-бла, вход запрещен, если вы хакер и продолжите атаку, вы согласны принять ответные меры в ваш адрес...»
    Ну, а на последующую 2-3 атаку высылать бомбу или эксплоит.
    С точки зрения запроса браузером — первая попытка — Access Denied, и человеческая приписка. А уж если вы «лицензионное соглашение» не прочитали — ваши проблемы.


  1. Draku1a
    12.07.2017 03:27

    [Обновление] Теперь я в каком-то списке спецслужб, потому что написал статью про некий вид «бомбы», так?

    Хах! Наши спецслужбы реагируют на три слова: «заговор, Путин, бомба» ))
    Интересно, если девушку назвать «секс-бомбой», спецслужбы её тоже в особый список занесут?))

    По статье — весьма интересная идея!


  1. skeletor
    12.07.2017 15:12

    А почему ни слова о curl? Вряд ли кто-то из браузера берёт и сканит ваш сайт. Для скана пишут shell/python/… скрипты, которые используют либо libcurl, либо что-то очень аналогичное.


  1. MrRitm
    12.07.2017 15:12

    Очень было интересно, что будет с моей машинкой на которой Zram настроен. А ничего! Ну притормозил малость (переключение между вкладками FF было медленнее чем обычно и скролл подтупливал), но в течение 1 минуты прогрузилась страница с сюрпризом и тормоза закончились. Никаких ошибок и прочего. 8 гигов памяти и обычный хард (не SSD). Тема интересная, сам как держатель небольшого хостинга на 1,5 сотни сайтов подумываю об активной защите ибо не все сайты реально обновить (я имею в виду обновление CMS) да и дырки в том, что товарищи программисты выкатывают тоже встречаются. Но пока ничего толкового не придумал. Буду очень признателен за советы :-)