XSS, XSS Stored, Уязвимости

#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»

Эта страница позволяет отправить сообщение в систему. Давайте просто протестируем эту страницу, введя какой-то текст в два поля. Он будет выглядеть как: «Timcore», и «Test»:

Давайте просто протестируем эту страницу, введя какой-то текст в два поля.

И если мы перейдем на другую машину (у меня это Windows 7 Home), и откроем ту же страницу, мы увидим сохраненный комментарий, который оставил я несколько минут назад:

И если мы перейдем на другую машину (у меня это Windows 7 Home), и откроем ту же страницу, мы увидим сохраненный комментарий, который оставил я несколько минут назад

Как Вы уже догадались, сообщения загружаются из базы данных, и они содержат текст. Если мы сможем вставить код, то любой пользователь, который откроет эту страницу, запустит этот код. Разумеется, нам не нужно ничего посылать пользователям.

Давайте попробуем провести инъекцию. В поле «Name», я введу «Timcore», а в поле «Message» введу «<script>alert(«Stored XSS»)</script>»:

попробуем провести инъекцию

После нажатия на кнопку «Sign Guestbook», получим всплывающее окно:

После нажатия на кнопку «Sign Guestbook», получим всплывающее окно

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

когда пользователь со своей машины переходит на страницу, в которую мы внедрили JavaScript код, то она прекрасно работает

Код с этого веб-сайта, будет выполнен у всех, кто посещает эту страницу.

А так, на этом все. Всем хорошего дня.

#1 Что такое уязвимость XSS (Cross Site Scripting)? Типы XSS.

#2 Исследование Reflected XSS (уровень Low).

#3 Исследование Reflected XSS — Средний уровень.

#4 Исследование Reflected XSS — (Сложный уровень).