В информационных целях мы рассказываем про одну из самых популярных уязвимостей и как с ней работать специалистам QA и QC – XSS-уязвимость.
XSS-уязвимость (межсайтовый скриптинг) – популярная уязвимость, существующая во многих веб-приложениях. Принцип работы достаточно прост: в ПО внедряется сторонний JavaScript-код, который выполняется каждый раз, когда пользователи заходят на страницу приложения. При этом можно получить данные пользователей, перенаправить их на другую страницу и еще множество других вариантов.
Вредоносный код можно добавить в любое поле ввода текста, которое сохраняется. Даже если это, например, информация о себе или комментарий. Браузер просто так не может отличить такой текст от обычного.
Однако такой вредоносный текст можно обезопасить, чтобы программа не реагировала на него.
Как тестировщику ПО бороться с XSS-уязвимостями? Прежде всего, проверять все поля ввода текстов, которые будут сохраняться, на возможность ввести вредоносный код. Делается это путем введения тестировщиком специального кода.
Например, вставить в текcтовое поле скрипт вида: <script>alert(this is a test!);</script> и отправить форму ввода с этим скриптом. После вернуться в админку, где будет отображаться это поле и убедиться, что не появляется попап с сообщением - "this is a test".
Найдя ошибку, необходимо обязательно сообщить об этом разработчикам, написав баг-репорт. Они смогут, например, запретить JavaScript видеть некоторые файлы cookie (один из способов убрать обнаруженный баг). Либо экранировать текст (еще один способ).
Больше узнать про тестирование веб-безопасности, работу с XSS-инъекциями и эффективный поиск уязвимостей в ПО можно на наших
курсах по тестированию По с нуля. Удачного изучения!