![]() |
XSS. Межсайтовый скриптинг
Моя первая статья, Автор: mr.Penguin Вступление XSS - тип уязвимости, позволяющий вставить произвольный JavaScript код в тело страницы сайта. XSS расшифровывается как Cross Site Scripting. Для термина используют сокращение "XSS", чтобы не было путаницы с "CSS" (каскадные таблицы стилей - приминяются в оформлении страницы сайта). Для чего служит? XSS служит для атаки пользователей, просматривающих зараженную страницу. Чаще всего, данную уязвимость используют для кражи cookies (применяется для сохранения данных на стороне юзера) у пользователя. Виды XSS Уязвимостей Типы уязвимостей делятся на два вида. #1 Активная XSS. Данный тип уязвимости хранится на сервере, и срабатывает в браузере жертвы при открытии какой-либо страницы зараженного сайта. Чаще всего, активную XSS можно встретить в чатах/блогах/новостных лентах/комментариях. #2 Пассивная XSS. Пассивная XSS-атака получается при конкретном запросе к скрипту. Параметры передаются через GET и POST запросы. В отличие от POST запроса, с GET`ом намного проще. На мой взгяд, пассивные xss - самые неудобные уязвимости для осуществления атаки на сайте. XSS на примере Чтобы найти пассивную XSS на сайте, достаточно подставить в форму ввода следующий код: Код:
Code:Код:
Code:Рассмотрим на примере работу пассивной XSS. Давайте зайдем на какой-нибудь сайт и найдем там поиск. Параметры передаются через GET запрос. В форму ввода пишем Код:
Code:Код:
Code:Вот готовый пример пассивной XSS на Online-переводчике - Код:
Code:Для того, чтобы украсть cookies пользователя, нам понадобиться онлайн-сниффер. Его можно найти в интернете, но можно использовать и свой. Нам понадобиться два файла: 1) file.php - В нем и будет находится наш снифер PHP код:
Можно поменять расширение "php" на "gif", чтобы наш скрипт не вызывал никаких подозрений. Тут нам поможет ".htaccess", в котором мы пропишем следующее: Код:
Code:Если у вас возникли вопросы по данной уязвимости или у вас не получается что-либо реализовать, то пишите в эту тему, я с радостью отвечу и помогу вам разобраться во всем. Спасибо за внимание. P.S. Не забывайте про фильтрацию HTML-тегов. Различные способы вставки JavaScript кода вы можете посмотреть здесь. P.S2 Статья будет дополняться. Вторая часть статьи: Проводим XSS через POST |
Таких статей море, ничего нового =(
|
Цитата:
Я владею достаточной информацией про данный тип уязвимости, но решил написать всего лишь представление об этой уязвимости. Именно поэтому в конце написал "Если у вас возникли вопросы по данной уязвимости или у вас не получается что-либо реализовать, то пишите в эту тему, я с радостью отвечу и помогу вам разобраться во всем.", а это значит - постараюсь ответить на вопрос пользователя и может быть, Вы или кто-то другой узнает что-то новое. |
Регистрация: 08.03.2012
Человек, который зарегистрировался только, чтобы написать статью, поделится знаниями! Браво =) |
Цитата:
|
а че ни слова не написал про обход фильрации при проведении атаки? проблема весьма актуальная. Выложил бы софт по проведению данной атаки для упрощения и автоматиизации процесса. Доведи до ума Статью если хочешь похвалы!
|
Цитата:
|
Цитата:
Цитата:
|
Основные замечания по статье:
XSS делятся не на два типа, а на три: 1) Активные (хранимые) 2) Пассивные (отраженные) 3) DOM-based Указанные векторы атак не подходят для надежной проверки на XSS-уязвимость. Желательно проверять вручную на фильтрацию определенных символов (в зависимости от места вывода), чтобы не вызвать подозрения у администрации сайта. В крайнем случае, можно использовать универсальные векторы XSS (где их найти, спросите у гугла) Кража сессии - не единственная возможность XSS (чтение данных со страниц сайта, выполнение запросов, доступ к локальному хранилищу, базам данных) Не написано о практической эксплуатации пассивных XSS (прямой переход по ссылке, шифрование, сокращение, скрытые фреймы) Это неправильно: PHP код:
Никаких действий с объектом img в дальнейшем не производится, поэтому можно сократить код так: PHP код:
PHP код:
|
M_script, согласен. Но я решил написать о двух основных типах XSS.
Код:
Code:В следующий раз постараюсь написать всё внятней. |
| Время: 19:10 |