#5 Исследование уязвимости Stored XSS. (Уровень Low).
Можем перейти к рассмотрению Stored XSS. Он очень похож на Reflected XSS, который мы уже разбирали в предыдущих уроках. Иными словами, он позволяет делать инъекции JavaScript кода в браузер, и код выполняется у пользователей, которые посещают страницу. К чему я веду, смысл Reflected XSS в том, чтобы отправить URL цели, и она уже должна кликнуть по этой ссылке, чтобы запустить эксплойт.
В случае же Stored XSS, код будет сохранен в базе данных или на странице веб-сайта. При каждом открытии страницы, пользователь будет получать Ваш код, поэтому нет нужды взаимодействовать с пользователями, и отправки им чего-либо. Stored XSS гораздо опаснее, чем Reflected XSS.
Для дальнейшей работы и демонстрации этой уязвимости, мне понадобится уязвимое веб-приложение «DVWA», которое входит в состав Linux-машины «Metasploitable 2».
Перейдем на страницу «XSS stored»:
Эта страница позволяет отправить сообщение в систему. Давайте просто протестируем эту страницу, введя какой-то текст в два поля. Он будет выглядеть как: «Timcore», и «Test»:
И если мы перейдем на другую машину (у меня это Windows 7 Home), и откроем ту же страницу, мы увидим сохраненный комментарий, который оставил я несколько минут назад:
Как Вы уже догадались, сообщения загружаются из базы данных, и они содержат текст. Если мы сможем вставить код, то любой пользователь, который откроет эту страницу, запустит этот код. Разумеется, нам не нужно ничего посылать пользователям.
Давайте попробуем провести инъекцию. В поле «Name», я введу «Timcore», а в поле «Message» введу «<script>alert(«Stored XSS»)</script>»:
После нажатия на кнопку «Sign Guestbook», получим всплывающее окно:
Но настоящая магия происходит, когда человек переходит на этот веб-сайт. Суть в том, что когда пользователь со своей машины переходит на страницу, в которую мы внедрили JavaScript код, то она прекрасно работает:
Код с этого веб-сайта, будет выполнен у всех, кто посещает эту страницу.
А так, на этом все. Всем хорошего дня.
#1 Что такое уязвимость XSS (Cross Site Scripting)? Типы XSS.
#2 Исследование Reflected XSS (уровень Low).