Подождите, по-моему AddType+AddHandler как раз и нужны для того, что бы писать php скрипты в файлах с расширением jpg? Так что тут вроде всё нормально, хотя и вариант с RewriteRule тоже будет работать.
А вообще, судя по статье Facebook делает свой запрос один раз сразу после добавления фото на стену, так что как альтернативный вариант можно просто вручную заменить картинку на php-скрипт после того как Facebook сделает свой запрос. Это будет работать даже если они поменяют User-Agent и ip-адреса. Правда, может поломаться при репостах.
Здесь нет уязвимости. Ну да, можно сделать так, что увидев на фейсбуке красивую картинку, пользователь перейдет по ссылке и увидит что-то другое. Ну увидит, и что? А в чем уязвимость?
Какая разница что там будет? Дырой это было бы если бы скрипт срабатывал на сайте Facebook. А то, что идет редирект на какой-то вредоносный сайт так в том нет дыры
юзер видит картинку на сайте фб, кликает и попадает на левую страницу, возможно использующую уязвимости браузеров, а не на искомую картинку, и это не баг?
Юзер видит на сайте фб ссылку «голая анджелина джоли скачать бесплатно без смс без регистрации», кликает и попадает на левую страницу, возможно использующие уязвимости браузеров, а не на искомые изображения. Тоже баг?
Картинка дает юзеру подсознательную уверенность — особенно после нескольких лет лазания по ФБ. Если каждый клик на картинке дает ее увеличенную копию, после 1000 кликов можно и привыкнуть.
Если в фэйсбуке «выложить» картинку путём постинга ссылки, то произойдёт ровно то же самое, что произойдёт и если выложить ссылку на какую-то другую страницу, этот топик например. Точно так же будет оформлена и запись на стене: ссылка, thumbnail, домен внешнего сайта, заголовок страницы (в данном случае ещё раз URL картинки). Активный пользователь фэйсбука наверняка не раз встречался с выложенными на стену ссылками куда-то и в состоянии отличить ссылку от простой фотографии (в оформлении которой присутствует один лишь thumbnail гораздо большего размера).
Как вариант — на результирующий скрипт вешается какой-нибудь браузер-эксплойт, который делает свое дело, после чего показывает наконец запрошенную картинку.
Удаляем плагин от Явы, удаляем Adobe acrobat, ставим Хром (для фанатов: переходим на линукс) и забываем навсегда про роаузерные эксплойты. Ну а те, кто использует устаревшее и кривое ПО, сами себе злобные буратины.
В любом случае, ту же самую ссылку на эксплойт можно и так запостить на фейсбук (разместив картинку на той же странице), прислать по почте или в скайп, это ничего не меняет в общем-то, так что никакой уязвимости тут нет.
Рассмотрим другой сценарий. Постим ссылку на нормальную картинку. Делаем ее популярной, выводим в какой-нибудь топ и т.д. А затем подменяем картинку на эксплойт. Имеем тот же профит, но независимо от особенностей Фейсбука.
Что-то «решить» можно, только если показывать юзеру картинку в теге на своем домене, а не просто посылая по ссылке. Но это уже совсем другой случай.
Господи, как будто сейчас мало возможностей по покупке анонимных прокси. Есть помом даж сервисы с ежедневным предоставлением свежих. Накупить таких на разных сервисах и гонять через них. Каж день новые.
Cross-Site Content Forgery в Facebook