Pull to refresh

Comments 184

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

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

Эх, вспомнилась фраза из одной эхо-конференции:
— ЗаUUEчить бы тебе q3arena.pak!
— Я тебе щас своп заюючу!
«собирайтесь хабы в кучу, щас я своп вам заЮЮчу». ну и таки с развитием fido over ip, народ начал пытаться устроить DDoS ради прикола.
Читал когда-то про псевдоадминку с логином\пассом admin, которая при входе выдавала пачку эксплоит китов в ответ. Проблемы две:
1) часто так можно положить чей-нибудь левый хостинг, зараженный малварью, и оказаться крайним
2) во многих странах «активная защита» приравнивается к хакингу и является уголовно наказуемой. Например, в Германии. И в отличии от нападающих, все данные явно указывают на вас — владельца домена\хостинга, потому что у вас и не было в мыслях как-то срываться…
Отправка сжатого файла большого размера это же не активная атака. Это тоже уголовно наказуемо?
мое личное имхо не юриста: зависит от трактовки законов и правоприменения в стране
С юридической точки зрения важен умысел. Если докажут, что вы это сделали осознавая, что можете кому-то нанести вред, к вам наверняка будут вопросы. Если докажут, что вы это сделали специально, чтобы наносить вред, будете отвечать.
Юридически это самооборона.
Для этого требуется выполнение ряда условий. Как минимум нужен факт нападения с реальной угрозой причинения вреда. Если угроза мнимая, или не дай бг сами спровоцируете, или причиненный вашими действиями ущерб окажется не соразмерен угрозе, или пострадают третьи лица — будете отвечать на общих основаниях.
Хакер подаст в суд?
Пострадавший. Это как подключить электрошокер к двери в квартиру, или поставить у входа капкан для воров.
Вот не понимаю этого, моя квартира, хочу, чтоб коридоре лежал капкан — кому какое дело до этого?
Потому, что частная собственность это не столько то, что вы имеете, сколько повод, при определенных обстоятельствах, иметь вас. Или как писал вождь революции: «жить в обществе и быть свободным от общества нельзя.»
Напр, за бутылку отравленной водки, «забытой» на столе дачного домика — людей вполне себе сажают. Но там просто — жизнь человека несоизмереима с любым возможным ущербом от воровства в том домике. Почти во всех странах, кстати, сажают, если докажут умысел в отравлении (водки). Причём не за «по неосторожности» сажают, а за «предумышленное».

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

И никакой неопределенности нет. То, что в бутылке смертельная отрава, посудимый знал. Сообщать другим не собирался. Поместил в место хранения продуктов. Виновен. Единственная справка, которая нужна подсудимому, это справка о психической неполноценности для смягчения приговора.
…жил один, сообщать было некому. Самому для себя помечать единственную водочную бутылку в доме непьющего человека — нелепо.
Я разговаривал с юристами на подобную тему, давно. Это будет решать судья: верить или не верить доводам подсудимого. И судебные решения с обвинениями уже в практике существуют.
здравым смыслом
в наших судах его зачастую не хватает, но мы же теоретизируем
Пострадавший хакер?
«А нас за что?» :)
Кто пострадает, если какой-нибудь шутник в комментах разместит ссылку (бесплатно, без sms) на вашу чудо-западню? Или накатает жалобу в РКН спортлото по приколу — вон люди массово сообщают, что при заходе на определенные урлы нарушается работа их компьютеров.
Чудо-западня которая аж обваливает браузер!

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

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

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

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

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

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

Чисто технически — это не атака. Просто старница размером в 10 Гб. Не могут скачать? Ну не мои проблемы :)
Правда и эксплоиты это не что-то сверхъестественное, просто специальная страница в которой странная разметка. Можно было бы отличать по наличию байт-кода, но тоже недостаточно, без байт-кода можно вызвать segfault.
Эксплоит использует уязвимости в программном обеспечении.
А как уязвимости определяются юридически? Нельзя ли неумение обработать слишком большой файл без вылета считать уязвимостью?
Если при этом не происходит доступа к данным или поломки данных — то нет.
Как с казали выше — эксплойт использует уязвимости, чтобы получить доступ туда, куда в обычном режиме досутп нет, например.

Большая гзипованая страница — это просто большое количество нулей. Браузер самостоятельно его запросил с целью обработать.
Эксплойт не обязан получать доступ туда куда его нет, это конечно лучший для взломщиков вариант, но даже экспойт позволяющий загрузить процессор уже является эксплойтом. Пример: в ХР н-сот раз в секунду вызывать 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
Обычное переполнение, которое в случае подсовывания ссылки с байт-кодом позволяет получить управление. Источник.
Эту страницу могут вставить iframe-мом или картинкой в другой сайт и тут уже это выглядит как подстава. Если глубоко не копать — то ваша бомба будет ломать чужой сайт.
Если кто-то разрешил встраивать iframe с посторонних доменов, то эта zip-бомба — не худшее, что может произойти. А если в img src добавить ее адрес, браузер после получения заголовков без Content-Type: image/smth не станет загружать ее, насколько я понимаю.
Согласен что проблема не самая страшная, но одна из.

Да и можно подставиться специально.
Встречал такую практику: есть 2 конкурента малого бизнеса. один на своем сайте ставит 5 ифреймов от сайта конкурента, тем самым нагружает диск, сеть и процессор конкуренту. Плюс к тому конкурента понижают в выдаче за накрутку.
Открыл с мобильного хрома, с включенной «экономией трафика»… Задумался скольким хаброжителям нужно одновременно попробовать сходить по вашей ссылке для достижения ощутимого эффекта и как потом гугл будет «отмазываться» ))
Учитывая, что у гугла в браузерах это ловится лучше всего, наверняка о своих серверах они позаботились и поставили разумные ограничения на используемую память)
Если вам нравится рисковать, попробуйте сами!
Comodo Dragon поднял окно: «Подтвердите действие на blog.haschek.at: Do you really want to execute the gzip bomb? your device may freeze up»
Или это сайт там даёт предупреждение от случайности?
Выжрал ~гиг оперативы (отдельным процессом c низким приоритето), сбросил и написал: «Опаньки… Не хватает памяти для показа этой страницы»
Firefox прошел испытание хорошо. Сначала быстро набрал в весе до 10Гб (многопоточная распаковка), а потом постепенно (с загрузкой одного ядра) высвобождал память обратно. Opera12 — как будто я открыл обычный сайт легонько перегруженный js — загрузка одно ядра 10%, памяти стала занимать на 100мб больше.
Перевод хороший, я не успел буквально последние два абзаца, хотя и есть неточности, оригинал просто просит чтобы его улучшили.

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

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

Аналогично. Но есть проблема: теперь Firefox после перезапуска раз в ~3 минуты выжирает 10 гигов, а затем медленно их отдаёт.
Отключение ghostery мне помогло. (Списались с DistortNeo в личке, у него точно так же)
Удаление из истории bombp.php вопрос не решает. Так что будьте аккуратнее заходя с включенным Ghostery.
Разобрались, чтобы исправить нужно закрыть Firefox и удалить файл .mozilla/firefox/u0ixn7m5.default/browser-extension-data/firefox@ghostery.com/storage.js из домашней папки (у каждого конечно путь немного отличается).

Что наводит на подозрения, так это то что Ghostery который призван защищать приватность, сам хранит собственную историю посещений…
UFO just landed and posted this here
Ну по крайней мере что оно не будет хранить историю в открытом виде или само ходить по ней. Печально. Спасибо, придется пересмотреть чего я там еще понаустанавливал.
8 гигов памяти, все нормально, FF набрал на 6.6 гигов в весе, потом постепенно освободил память, музыка на соседней вкладке даже не прекратилось, только интерфейс тормозил немного
В макоси сработало сжатие ОЗУ на вкладке.
Opera 46.0.2597.39. продержалась 19 секунд и выдала:
Недостаточно памяти
Браузеру Opera не хватает памяти, либо выполнение процесса для страницы прекращено по какой-то другой причине.
интересно, можно предположить, что если бомба срабатывает, то должна радикально снизится интенсивность повторных попыток аутентификаций с того же адреса
То же самое хотел спросить.
Плюс если отправлять бомбу взломаным хостам, то у их владельцев уже 2 попоболи.
По вашей ссылке https://blog.haschek.at/tools/bomb.php?bombme=true gzip размером 1.7Гб а не 10 Гб.
И наверно лучше сжимать командой gzip с параметром --best
При распаковке получилось 10 гб, что-то не так отображением размера в BetterZip
С ключем --best весит так же, но распаковывается в 4 раза дольше.
А какой в этом смысл?

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

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

С большей вероятностью скрипт атаки просто не станет слать гзип хедеры, ожидать гзипованного ответа и его распаковывать. И ничего не произойдёт.
Ну так запросы без gzip залоговков можно сразу слать в баню :)
И да, проверил на своей машине, i7-7700K/16GB RAM — хром пытался открыть примерно 15 секунд потом сказал что ran out of memory while trying to display page и всё. Процессор был занят на четверть, памяти заняло максимум 20 процентов, после того как хром прекратил попытки загрузить страницу — все ресурсы моментально вернулись, т.е. практически ничего не произошло.
Как это практически ничего не произошло, как минимум процесс сканера был занят 15 секунд и вылетел с ошибкой, вместо того чтобы за долю секунды обработать ответ сервера, и продолжить сканировать дальше.
Мне штука понравилась, попробую «заложить бомбы».
Как например, если разложить таких огромных файлов в нескольких стандартных местах, как /admin/, /login/, /wp_admin/ ну и т.п., скрипты сканеров с большой вероятностью их захватят и повиснут из-за нехватки памяти, а значит перестанут сканировать сайт дальше.
Причем файл может быть 1 — сделать на него символические ссылки.
Гугл переводчик не дает открыть страницу :)
Palemoon x64 @ Win10 занял одно ядро из четырех. Память без изменений, на десяток вкладок ~350Mb. Вкладка с бомбой показывает анимацию загрузки некоторое время, потом просто белый экран и всё, ядро освобождается. Всё время система и браузер отзываются нормально, остальные вкладки продолжают нормально работать, можно открывать новые.
После анализа лог файлов решил влепить в конфиг 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. Правда в моём случае принцип бомб немного другой, внутри архива другой архив, и так до бесконечности. Наверное имеет смысл к такой бомбе добавить ещё и большой пустой файл, чтобы побыстрее память кончалась у атакующей жертвы.
А кто это всё будет распаковывать входя в следующий архив до бесконечности?
Допустим я в курсе. И что?

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

Не знаю даже, зачем сканеры бродят по интернету и пытаюсь скачать backup.zip и прочие перечисленные файлы. И они не просто проверяют их наличие, а скачивают их зачем то. Предполагаю, что после загрузки они их распаковывают, и не знаю даже почему, но мне думается, что некоторые это делают автоматически. Можно даже предположить, что некоторые из них делают это рекурсивно, составляя список файлов содержимого архива. И да, это не тот же самый способ, который описан в статье, это просто из той же оперы — приколов над сканерами и ботами.
Предполагаю, что после загрузки они их распаковывают, и не знаю даже почему, но мне думается, что некоторые это делают автоматически. Можно даже предположить, что некоторые из них делают это рекурсивно, составляя список файлов содержимого архива.
Подсунуть им рекурсивный zip-архив или архив в 42 КБайт который после всей распаковки занимает 4.5ПБайт, пусть подавятся.
Именно указанные в статье рекурсивные zip/gz/tgz архивы сейчас и отдаю, в надежде что их кто-нибудь, когда-нибудь распакует до конца.
Разница в том, что когда сканеры запрашивают backup.zip они и ожидают увидеть ZIP.
Так сервер и отдаёт zip. Конкретнее r.zip, его можно скачать по ссылке на статью «рекурсивный zip-архив» комментарием выше.

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

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

Про левый content-type не понял. Если клиент запросил zip файл, то чем его может тип application/zip не устроить? Форматирование комментариев хабра съело строку. Если что, то строка выглядит так:
"^/(archive|auth|backup|clients|...|site|sql|website|wordpress)\.zip$" {
Ну да у вас location обрезается, и складывалось ощущение, что вы вместо html страничек отдаете zip-ы.

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

Возможно в данном случае правильнее было бы использовать try_files, но по-моему разница между rewrite break и try_files не принципиальна.
Я написал (реверс) прокси-прослойку между php-fpm и точкой входа, анализирующую источник, uri, параметры запросов на предмет наличия XSS, инъекций. Успешно оберегаются даже дырявые скрипты. В планах полное покрытие OWASP. Если кому то необходимо, обращайтесь за бинарниками.
Есть подобные вещи для apache2 и nginx https://habrahabr.ru/post/228339/ https://github.com/SpiderLabs/ModSecurity-nginx https://habrahabr.ru/post/145241/

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

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

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

Пока тестируем на WP и легаси скриптах, которые пришлось запустить
Так будет народу ссылка на github или нет? :)

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

Не ZIP бомба, а даже скорее наоборот, но очень эффектно работает:
https://www.netfilter.org/projects/patch-o-matic/pom-external.html#pom-external-TARPIT
UFO just landed and posted this here
Edge сначала подвис, продолжая кушать оперативку, а потом просто выдал тот же алерт, что и при открытии страницы был.

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

truncate вместо dd не пробовали для создания большого файла?)
Броузеры понятное дело, качают целиком. Но надо быть совсем тупым скрипт-кидди, чтобы не ограничить длину читаемого буфера хотя бы 8К… тем более, если парсишь сотни страниц.
grep 'authentication failures' /var/log/auth.log

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

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

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

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

Интересно, как будет работать оборудование, скажем у конечного провайдера, которое гипотетически сохраняет весь траффик пользователя? По сети реально передается 10 мегабайт, но чтобы понять содержимое их нужно распаковать. Если есть возможность сохранять их в нераспакованном виде, то это будет просто помойка неиндексированной информации, не поддающейся анализу. А если распаковывать и анализировать, то этому гипотетическому провайдеру понадобятся эти самые петабайты.
А зачем провайдеру это анализировать? Хэш подобьет и будет из кэша отдавать. А анализировать уже другие люди будут, если заинтересуются.
Как провайдер будет понимать, что файл не изменился? Никаких заголовков разрешающих кэширование не передается
UFO just landed and posted this here
Если никакие специальные заголовки не используются, то чтобы понять что хеш не изменился нужно скачать файл и посчитать его хеш. То есть скачивание с сервера полного файла всё равно произойдет.
А вообще, я ни разу не встречал такого провайдера, который бы кэшировал абсолютно весь контент всех юзеров на основе хешей. Да, сервисы вроде cloudflare умеют это делать, но это специальный случай, во всех остальных вариантах запрос без кэширующих заголовков всегда дойдет до сервера
UFO just landed and posted this here
Вопрос технический, как современное оборудование записывающее траффик пользователей поступает с gzip компрессией: распаковывает или нет?
Трафик по уму (и закону, ЕМНИП) должен писаться весь. Ибо даже в «чистом» TCP
payload стеганографически передать можно очень много чего — я уж не говорю об уровне HTTP.
А вот какое оборудование используется, используется ли и пишет ли оно что-нибудь вообще — это вопрос на который ответ мы навряд ли узнаем.
Я думаю что можно использовать /dev/urandom и архив не нужен

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

старенький комп, 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
Links подвис после скачивания 2.7mb
Lynx успешно скачал и распаковал весь архив не задействовав даже 100 метров. У меня IntelliJ Idea, AndroidStudio и Chrome каждый кушают больше.
А в другом направлении работает?
А яндекс и прочие браузеры не начнут считать сайт заражённым вирусом?
Firefox 54 amd64, 1 ядро загрузилось на 100% и так было до конца загрузки, в системе было занято всего 1.7gb, эта отметка так и не сдвинулась с места.
Во время теста:
во время теста
После теста:
после теста
p.s. открыто 12 вкладок, 15 расширений.
То же самое, никаких ошибок, тормозов и прочих негативных эффектов. Просто тихо открылась в фоне.
Это же детский сад, причем младшая группа:
Ну во первых «Я сообщал эти IP их провайдерам», это просто супер) Но вряд ли большинство владельцев этих IP даже подозревают, что имеют какой-то IP адрес.
Второе, такие «закладки» будут иметь смысл только для «борьбы» с «хакерами», находящимися на том же уровне, что и админы настраивающие root по ssh с паролем «123qwe».
админы настраивающие root по ssh с паролем «123qwe».

Ну что началось нормально же общались… </sarcasm off>
я бы лучше сказал просто «админы настраивающие root по ssh с паролем»
Наверно что то не понимаю но почему сканер должен скачать эту вашу zip бомбу
gzip в браузере используется для сжатия. Типа вместо того чтобы передавать 100 мегабайтов html странички сервер ее жмет в gzip, передает клиенту в браузер, браузер достает ее из gzip и показывает. В общем смысл в том что браузер автоматически распаковывает содержимое и пытается отобразить но т.к. распаковывать придется 10 гб то велика вероятность что браузер\программа упадет из за нехватки ОЗУ. Как то так в общем и целом.
Но ведь как мне помнится, тот же nikto, просто проверяет ошибка вернулась или нет, не залезая в сам файл.
UFO just landed and posted this here
https://habrahabr.ru/post/272261/
Yandex-браузер, Win10, 8GB RAM + SSD. Три раза сбрасывал память, потом выдал ошибку и невозможности отобразить страницу. Ничего не подвисало и не влияло на работу остальных программ
image
Chromium под Linux загружает одно ядро в течении пяти секунд, расход памяти вырастает до 1.5Гб (С 750Мб). Через пять секунд выдает ошибку «Something went wrong while displaying this webpage».
Python-скрипт с requests.get выжирает всю доступную пямять, после чего убивается системой.
Curl без параметров просто скачивает 10Мб файл.
Curl c --compressed выжирает всю доступную память и одно ядро и честно сохраняет 10Gb файл. Около 30 сек.
Вообще, для простых сканеров уязвимостей это может действительно стать проблемой, скорее всего процесс будет убиваться системой, как в случае с python-скриптом. Но пофиксить это будет несложно.
«Дефейс», «Скрипт-кидди» — респект за терминологию моего любимого журнала детства.
Дак это ж ещё с 2000 термины http://www.zdnet.com/article/script-kiddies-the-nets-cybergangs/
Google Chrome 59
Перед запуском страницы явно спрашивает:
Do you really want to execute the gzip bomb? your device may freeze up
OK Cancel
Продолжайте думать, что это вам хром сказал.
Ну я это к тому, что Хром анализирует содержимое и не запускает просто так. Так что «Бомбой» для него этот способ можно назвать с большой натяжкой.
Вот код страницы:
<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>
UFO just landed and posted this here
Не надо путать сами знаете что с пальцем:

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

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

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

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

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

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

Согласен:

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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


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

wp-login.php
Ну вот смотрю с утра, таки всех убил роботов, одним ударом терминаторным! Чё то у них сломалось, там были разные адреса, но видимо машина одна или несколько.
В общем в день было около пяти-десяти wp.
Помнится, когда-то давно, когда деревья были ниже, а винда зеленее, я отправлял любителям подбирать пароли двухмегабайтный «пинг смерти». Очень, очень было эффективно.
Есть ещё один момент: у меня хостер периодически проверяет архивы на вирусы (и ругается на логи апача с неудачными попытками инъекций). Хотя 10 Гиг это не 4,5 ПБ, может и прожуёт.
Chrome/iOS — «при работе с этой страницей произошла ошибка». Ничего страшного не случается.
Safari/IOS — тоже самое
Скрипт немного недоделанный. Бота имитирующего браузер как ни странно трудно сделать, если на php, надо два curl использовать, сначала читать заголовок, первый определяет по заголовку странички print_r, паре строк надо туда лезть или нет… Ну да ладно. Надо отделить ботов от браузеров.

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

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

А если?
// ...
sleep(3600);
// ...


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

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

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

По статье — весьма интересная идея!
А почему ни слова о curl? Вряд ли кто-то из браузера берёт и сканит ваш сайт. Для скана пишут shell/python/… скрипты, которые используют либо libcurl, либо что-то очень аналогичное.
Очень было интересно, что будет с моей машинкой на которой Zram настроен. А ничего! Ну притормозил малость (переключение между вкладками FF было медленнее чем обычно и скролл подтупливал), но в течение 1 минуты прогрузилась страница с сюрпризом и тормоза закончились. Никаких ошибок и прочего. 8 гигов памяти и обычный хард (не SSD). Тема интересная, сам как держатель небольшого хостинга на 1,5 сотни сайтов подумываю об активной защите ибо не все сайты реально обновить (я имею в виду обновление CMS) да и дырки в том, что товарищи программисты выкатывают тоже встречаются. Но пока ничего толкового не придумал. Буду очень признателен за советы :-)
Sign up to leave a comment.

Articles