Proventus's blog

By Proventus, history, 5 years ago, In Russian

Продолжая ковырять CF(мой прошлый пост), я вспомнил про возможность вложения картинок в посты и комментарии. Первой моей мыслью было — "Откуда codeforces.com их берёт?". Варианта было два — сохраняет на свой сервер, либо делает запрос по url. Выложив на бесплатный хостинг тестовую картинку и прикрепив её к посту, а потом удалив с сайта, я увидел, что изображение пропало. Из этого, я сделал вывод, что картинки берутся из url. Написав небольшой скрипт, который обычно используется для ловли cookie, я начал тест. Создав пост с url картинки, который указывал на мой скрипт с параметром GET cook=test(в этот момент файл на сервере содержал "reset"), и попробовав предпросмотр поста — файл на сервере переписался на "test". Получилось! Эта особенность позволяет нам, к примеру считать количество просмотров на посте.

Пример такого счётчика:

Количество просмотров(перезагрузки страниц и дубликаты картинок тоже считаются)

Однако, это может использоваться в дурных целей — например организации DDoS. Злоумышленник может создать коментарий к разбору задач с 10-20 картинками. Тогда, произойдёт (КоличествоОткрывшихРазбор * КоличествоКартинок)(примерно 30000) запросов на серевер.

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

  • Vote: I like it
  • +88
  • Vote: I do not like it