За последние 24 часа нас посетили 19106 программистов и 1855 роботов. Сейчас ищут 914 программистов ...

Найдена уязвимость ImageMagic, опасносте!

Тема в разделе "Прочие вопросы по PHP", создана пользователем artoodetoo, 5 май 2016.

  1. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.129
    Симпатии:
    1.249
    Адрес:
    там-сям
    mahmuzar и denis01 нравится это.
  2. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Я так понимаю, что перед использованием ImageMagick, проверка файлов с помощью того же finfo_file, тоже провалится?
     
  3. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    Как вам упомянутая функция поможет в таком эксплойте:
    Код (Text):
    1. <?xml version="1.0" standalone="no"?>
    2. <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
    3. "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
    4. <svg width="640px" height="480px" version="1.1"
    5. xmlns="http://www.w3.org/2000/svg" xmlns:xlink=
    6. "http://www.w3.org/1999/xlink">
    7. <image xlink:href="https://example.com/image.jpg&quot;|ls &quot;-la"
    8. x="0" y="0" height="640px" width="480px"/>
    9. </svg>
    Эх кто-то ботнет за эти 3 недели поднял себе не хилый, чувствуется... .
     
    #3 Zuldek, 5 май 2016
    Последнее редактирование: 5 май 2016
  4. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    А что нужно было сделать?
     
  5. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.129
    Симпатии:
    1.249
    Адрес:
    там-сям
    Переключиться на gd.
     
  6. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    Зачем.
    Все четко написано: в полиси файле отключить подверженные уязвимости декодеры: https://habrahabr.ru/post/282896/
    На гите уже лежит исходник для тестирования наличия уязвимости. https://github.com/ImageTragick/PoCs

    И ждать зрелого патча.
    --- Добавлено ---
    Главное тут на никсовых осях проверять откуда реально тянет конфиги имейджмаджик. Причем даже в рамках одной среды php exec convert может потянуть конфиг либы из одного каталога (/etc/ImageMagick в моем случае), а тот же ImageMagick.php – уже из другого. Так что изменить их лучше везде.
     
    #6 Zuldek, 5 май 2016
    Последнее редактирование: 5 май 2016
  7. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Не пропустит этот файл, ибо я жду png, а не хз что?
     
  8. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.631
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    В статье выше и написано вроде, проверка типа поможет.
    --- Добавлено ---
    Если я все правильно понял.
     
  9. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а как проверить, что этот конфиг действительно используется?
     
  10. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    Это если тебе svg и прочие форматы не лить
    --- Добавлено ---
    Поменяй во всех путях поиска:
    http://www.imagemagick.org/script/resources.php
    --- Добавлено ---
    Не проверка типа, а пересохранение файла с заявленным форматом, если речь идет об изображениях традиционных форматов. И последние с проблемой вообще не связано: это и так нужно всегда делать. Уязвимые кодеры библиотеки по пунктам перечислены в ссылках из этого топика. И по пунктам перечислены действия для устранения уязвимости.
     
  11. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    короче мне не удаётся отключить или он показывает что поддерживает отключенные кодеки. Как это проверит я хз.
     
  12. MiksIr

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    А ты много ресурсов таких знаешь? ;)
    Там основная проблема в том, что обычно криворуко делают проверку по расширению... и в итоге im можно скормить что угодно. Хотя 99.9% сайтов хотят png/jpg/gif ... ну может еще bmp/tif
     
  13. Zuldek

    Zuldek Старожил

    С нами с:
    13 май 2014
    Сообщения:
    2.381
    Симпатии:
    344
    Адрес:
    Лондон, Тисовая улица, дом 4, чулан под лестницей
    Исправлял в двух крупных проектов с трафиками под лям. В обоих работали по нескольку кодеров уязвимых имаджика. Это называется удобство пользователя. Чтобы мог залить почти любой графический формат а система конвертирует в то что нужно.

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

    MiksIr Активный пользователь

    С нами с:
    29 ноя 2006
    Сообщения:
    2.339
    Симпатии:
    44
    Ну так и собирайте дыры, чо. Был бы крупный проект - давно бы уже сломали, добежать бы не успел. Не надо говнокодерство называть "удобством пользователя". 0.001% заливающий свою фотку в svg (кхехехехе) - найдет как конвертнуть в png.
    Ну размести, и чо ;)))
    Эта проблема, кстати, тоже имела корни из "так удобнее будет" начиная с конфигурации веб-сервера и заканчивая разработчиками PHP :)