#5 Исследование уязвимости Stored XSS. (Уровень Low).
Можем перейти к рассмотрению Stored XSS. Он очень похож на Reflected XSS, который мы уже разбирали в предыдущих уроках. Иными словами, он позволяет делать инъекции JavaScript кода в браузер, и код выполняется у пользователей, которые посещают страницу. К чему я веду, смысл Reflected XSS в том, чтобы отправить URL цели, и она уже должна кликнуть по этой ссылке, чтобы запустить эксплойт.
В случае же Stored XSS, код будет сохранен в базе данных или на странице веб-сайта. При каждом открытии страницы, пользователь будет получать Ваш код, поэтому нет нужды взаимодействовать с пользователями, и отправки им чего-либо. Stored XSS гораздо опаснее, чем Reflected XSS.
Для дальнейшей работы и демонстрации этой уязвимости, мне понадобится уязвимое веб-приложение «DVWA», которое входит в состав Linux-машины «Metasploitable 2».
Перейдем на страницу «XSS stored»:
![Перейдем на страницу «XSS stored»](https://timcore.ru/wp-content/uploads/2021/06/001-4-1024x833.png)
Эта страница позволяет отправить сообщение в систему. Давайте просто протестируем эту страницу, введя какой-то текст в два поля. Он будет выглядеть как: «Timcore», и «Test»:
![Давайте просто протестируем эту страницу, введя какой-то текст в два поля.](https://timcore.ru/wp-content/uploads/2021/06/002-4.png)
И если мы перейдем на другую машину (у меня это Windows 7 Home), и откроем ту же страницу, мы увидим сохраненный комментарий, который оставил я несколько минут назад:
![И если мы перейдем на другую машину (у меня это Windows 7 Home), и откроем ту же страницу, мы увидим сохраненный комментарий, который оставил я несколько минут назад](https://timcore.ru/wp-content/uploads/2021/06/003-3.png)
Как Вы уже догадались, сообщения загружаются из базы данных, и они содержат текст. Если мы сможем вставить код, то любой пользователь, который откроет эту страницу, запустит этот код. Разумеется, нам не нужно ничего посылать пользователям.
Давайте попробуем провести инъекцию. В поле «Name», я введу «Timcore», а в поле «Message» введу «<script>alert(«Stored XSS»)</script>»:
![попробуем провести инъекцию](https://timcore.ru/wp-content/uploads/2021/06/004-3-1024x822.png)
После нажатия на кнопку «Sign Guestbook», получим всплывающее окно:
![После нажатия на кнопку «Sign Guestbook», получим всплывающее окно](https://timcore.ru/wp-content/uploads/2021/06/005-3-1024x821.png)
Но настоящая магия происходит, когда человек переходит на этот веб-сайт. Суть в том, что когда пользователь со своей машины переходит на страницу, в которую мы внедрили JavaScript код, то она прекрасно работает:
![когда пользователь со своей машины переходит на страницу, в которую мы внедрили JavaScript код, то она прекрасно работает](https://timcore.ru/wp-content/uploads/2021/06/006-3.png)
Код с этого веб-сайта, будет выполнен у всех, кто посещает эту страницу.
А так, на этом все. Всем хорошего дня.
#1 Что такое уязвимость XSS (Cross Site Scripting)? Типы XSS.
#2 Исследование Reflected XSS (уровень Low).