Генерация PNG, JPG, GIF или утреннее любопытство до добра не доведет. Исправлено

10

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

Даже тогда, когда запрещено создание эскизов произвольных размеров, но при использовании PNG файлов для фото товара, генерацию JPG из PNG это не останавливает. JPG файлы можно генерировать по вызову по прямой ссылке добавлением .jpg на конце имени файла в браузере (проверял в Firefox, хотя это не важно), несмотря на запрет генерации эскизов произвольных размеров.

Таким образом в магазинах, использующих PNG, можно создать генерацию большого объема JPG мусора, написав соответствующий скрипт для целевого нанесения вреда. В итоге файловая система будет завалена мусором.

Ниже видно какие файлы были созданы в итоге опытов.


А теперь самое вкусное. Обратный рецепт тоже работает. Берем любой JPG из фото товара. Берем к нему URL вида /wa-data/public/shop/products/65/01/165/images/953/953.0x700.jpg и добавляем .png на конце, можно и .gif и даже еще раз .jpg или .jpg.jpg запустить по кругу. Можно и вот так /wa-data/public/shop/products/65/01/165/images/6067/6067.600x0.jpg.png.png.png

В итоге получаем вот что


Обратите внимание на размеры файлов PNG и GIF. Это жесть! Какой объем вкусный. Сиди и бомби магазины на хостингах от души. Получается любой магазин потенциально уязвим для такого вида переполнения файловой системы генерацией PNG, GIF и вторичных-третичных-цикличных JPG из имеющихся JPG фотографий товара. Я проверял это на версиях от 6 (шестой) до последней ШопСкрипт и все они были на последней версии фреймворка.

Разработчики, АУ? Проверьте догадку. Баг есть или это у меня с утра глюки?

6 комментариев

  • +3
    weduser weduser 15 октября 2019 16:56 #

    И сразу же вопрос - как стереть лишние картинки и эскизы? Картинки которые не используются. Заметил что сайт стал весить все больше и больше. 

  • +1
    dez dez 15 октября 2019 16:11 #

    Проверил у себя, да, так же само, делаешь .jpg.jpg и создается новый эскиз. Вебассист, это залет

  • +1
    Михаил Ушенин Михаил Ушенин Webasyst 15 ноября 2019 16:24 #

    Мы выпустили обновление Shop-Script с устранением этой лишней возможности. Обновление можно установить в «Инсталлере».

    Проверьте, пожалуйста. Сообщите нам, если проблема сохранилась.

    • +1
      replicant replicant 16 ноября 2019 10:22 #

      На днях проверю обязательно. Хотя может быть кто-нибудь быстрее проверит и отпишется тут о результатах.

    • +1
      replicant replicant 16 ноября 2019 19:04 #

      Сегодня сделал обновку для одного из магазинов друзей. Всё ок. Проблема в том виде, в котором была зафиксирована, теперь не проявляется. Генерацию "несанкционированного мусора" не удалось осуществить.

    • +1
      Иван Chers Иван Chers 15 ноября 2019 18:51 #

      Есть ли инструмент чистки мусорных картинок? Чувствую их очень много

      Добавить комментарий

      Чтобы добавить комментарий, зарегистрируйтесь или войдите