XSS это межсайтовый скриптинг. Хакер формирует специальный URL, благодаря которому он сможет в дальнейшем залить эксплоит на ваш сервер или выполнить какой-нибудь вредоносный скрипт.
Например ваш сайт работает на PHP, а страница представляет из себя информацию об аккаунте пользователя. Самый частый URL в таких случаях - такой: sait.ru/?p=profile&user=Vasja
В таком URL нет ничего плохого, н ...
XSS это межсайтовый скриптинг. Хакер формирует специальный URL, благодаря которому он сможет в дальнейшем залить эксплоит на ваш сервер или выполнить какой-нибудь вредоносный скрипт.
Например ваш сайт работает на PHP, а страница представляет из себя информацию об аккаунте пользователя. Самый частый URL в таких случаях - такой: sait.ru/?p=profile&user=Vasja
В таком URL нет ничего плохого, но самое уязвимое место может скрываться в самом коде страницы, например:
[red]<?php
echo "Информация о профиле: " . $_GET['user'];
?>[/red]
Как видно из примера, данные GET не фильтруются и выводятся сразу на страницу. Немного подумав для примера мы можем модифицировать URL до вот такого:
sait.ru/?p=profile&user=Vasja<b> - hello</b>
Выполнив такой код мы получим сообщение на странице рядом с именем участника.
Это не самое страшное, попробуем теперь так:
sait.ru/?p=profile&user=Vasja<script>alert(0); </script>
А это уже опасно, теперь хакер воспользуется вашей дырой и сможет сделать все что захочет.
Вторичный параметр $sql предназнчаен для защиты SQL-инъекций. Его нужно ставить в 1, когда вы фильтруете данные для SQL запроса, например:
SELECT... LIMIT 0, _filter($_GET['limit'],1)
Вот так вот просто вы сможете залатать XSS дыры своего сайта. Удачи!
Как же защитится от XSS атак? Ответ очень прост, нужно элементарно фильтровать данные - ВСЕ данные получаемые POST или GET.
Вот например функция на PHP, которая поможет Вам: