Изображение размером 420 байт отправляет сайты в аут

Discussion in 'Мировые новости. Обсуждения.' started by #colorblind, 3 Sep 2015.

  1. #colorblind

    #colorblind Moderator

    Joined:
    31 Jan 2014
    Messages:
    627
    Likes Received:
    246
    Reputations:
    42
    Изображение размером 420 байт отправляет сайты в аут

    Какой самый большой размер изображения формата PNG в наименьшем количестве байт? Программист Дэвид Фифилд с сайта bamsoftware.com заинтересовался данным вопросом и пришел к удвительным выводам. Он создал картинку, размеры которой не умещаются в оперативной памяти, вызывая зависание системы.

    Запакованный bzip2-файл spark.png.bz2 имеет размер всего 420 байт. В нем лежит сжатый PNG-файл. При распаковке картинка занимает 6132534 байт или 5,8 мегабайт и имеет разрешение 225000 на 225000 пикселей (50,625 гигапикселей). Для просомтра такого изображения требуется около 141 гигабайта оперативной памяти. На незащищенных от подобной «бомбы» фото-хостингах, форумах и прочих сайтах, где можно загрузить и посмотреть картинку, таким образом можно запросто положить сервера.

    PNG использует алгоритм сжатия DEFLATE в библиотеке zlib.

    Сначала DEFLATE заменяет повторяющиеся строки указателями, при этом каждая пара бит кодирует 258 одинаковых байтов с нулями. Степень компрессии составляет 1032 к 1.

    Затем за дело берётся bzip2, который сжимает длинный набор одинаковых значений в максимально компактный вид.

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

    http://geektimes.ru/post/261276
    -----------------------------
    Картинка: https://www.bamsoftware.com/bzr/deflate/spark.png.bz2
     
    dothz, makag and hesher like this.
  2. TANZWUT

    TANZWUT Крёстный отец :)

    Joined:
    22 Jun 2005
    Messages:
    1,474
    Likes Received:
    716
    Reputations:
    744
    Баян, я ещё в 2005-ом отправлял компы в bsod используя png 640*480 растянутую в теге img с width/height равным 999999
     
    _________________________
    randman, vikii and hesher like this.
  3. #colorblind

    #colorblind Moderator

    Joined:
    31 Jan 2014
    Messages:
    627
    Likes Received:
    246
    Reputations:
    42
    Да, согласен, трюк можно в какой-то степени назвать старым, да только тут немного другое, чем растягивание изображения или фейковые цифры в хидере.
     
  4. vikii

    vikii Banned

    Joined:
    29 Dec 2013
    Messages:
    175
    Likes Received:
    73
    Reputations:
    1
    некоторые в 2005 портки без помощи надеть не могли ) я про нынешний контингент форума)
     
  5. grimnir

    grimnir Members of Antichat

    Joined:
    23 Apr 2012
    Messages:
    1,109
    Likes Received:
    828
    Reputations:
    231
    _________________________
  6. NekoKoneko

    NekoKoneko Elder - Старейшина

    Joined:
    29 Oct 2010
    Messages:
    175
    Likes Received:
    141
    Reputations:
    20
    Значит, когда я делал в галерее проверку картинок на ((H*W*4) > 100m), это не было паранойей...