Бесплатные ресурсы для тренировки ручного тестирования веб-уязвимостей XSS

Поиск и проверка веб-уязвимостей требует значительное количество знаний и профессиональных умений. Но не только! Нужны ресурсы, которые можно свободно изучать, на которых можно тренироваться находить и определять уязвимости. Ниже приведены восемь свободных для использования веб-сайтов с уязвимостью Cross-site scripting (XSS), на которых заведомо присутствуют уязвимости и владельцы которых открыли всем возможность «ломать» их. А также изучать их, чтобы не допустить подобные уязвимости в собственных разработках.

Если вы уже опытный тестер — может это вызов для вас? Некоторые сайты простые для взлома, для других нужны более серьёзные навыки. Поэтому приглашаем проверить свои силы или включить эти ресурсы для собственного обучения.

Заметки:

XSS — тип атаки на веб-системы, который заключается во внедрении в страницу вредоносного кода и взаимодействия этого кода с веб-сервером злоумышленника. Является разновидностью атаки «Внедрение кода».

Если вы пользуетесь Chrome или другим браузером на базе Chromium, то предварительно выключите XSS auditor. Для этого запустите Chrome с flag-ом —disable-xss-auditor. Для этого добавьте текст flag- в поле Target в ярлыке.


1. Google XSS Game

https://xss-game.appspot.com
В 2014 году Google создали эту игру для того, чтобы показать насколько просто использовать уязвимости XSS. Это было сделано чтобы обратить внимание общественности на тип угроз XSS. Игра, по сути, проста. Необходимо знание JavaScript и понимание Python.

2. Alert(1) to win

https://alf.nu/alert1
Этот сайт был разработан Эрлинг Елингсеном в 2013 году. По типу Google XSS Game это игра с 8 уровнями, с растущим уровнем сложности. В целом эта игра сложнее, чем Google и требует высокого уровня подготовки. Самым большим преимуществом является то, что результаты действий видно сразу в консоли. Есть также элемент соревнования — заканчивая 1 уровень вам предоставляется список других игроков с их результатами. Чем быстрее пройденный этап — тем выше результат.

3. Prompt(1) to win

http://prompt.ml/0
Вдохновившись предыдущими примерами специалист в области информационной безопасности filedescriptor с Гонг Конга в 2014 году создал этот ресурс. 20 уровней, каждый из которых сложнее предыдущего. Обратите внимание, что последние ровно вероятно уже невозможно выполнить из-за изменений, которые произошли в браузерах.

4. XSS Challenges

https://xss-quiz.int21h.jp
Это один из старейших ресурсов (2008 год) и насчитывает 19 уровней. В отличие от предыдущих вариантов здесь не отображаются результаты. Выглядит как настоящая живая веб-страница. То есть здесь нужно будет выключить xss-auditor в браузере. 17 и 18 этап уже не актуальны, потому что для их прохождения требуется устаревший Internet Explorer.

5. ALL level XSS challenges

http://sudo.co.il/xss
Александр Коржников сделал этот челлендж в 2016 году. Здесь есть 19 уровней, это тоже просто HTML страница с базовым JavaScript и без подсказок. Тоже стоит выключить XSS фильтры. И ходят слухи, что ответы загуглить не получится.

6. Vulnweb

http://vulnweb.com
Этот список был бы не полным, если бы он не содержал библиотеку специально заражённых сайтов. Vulnweb содержит не только XSS. Он содержит несколько приложений с различными технологиями, такими как PHP и ASP. Большинство из них содержат XSS, SQL Injection и многое другое. Сайт стартовал, как помощь в тестировании автоматизированных сканеров уязвимостей. Поэтому он не разработан как набор уровней. Задача — попытаться самостоятельно найти уязвимости. После этого можно использовать Acunetix, чтобы увидеть, было ли что-то пропущено.

7. OWASP WebGoat Project

https://owasp.org/www-project-webgoat/
Проект WebGoat — это не сайт. Приложение с открытым кодом нужно загрузить и запустить самостоятельно. Это помогает научиться не только XSS (включая XSS на основе DOM), но и другим типам атак. Сейчас WebGoat имеет версию 8.0 и доступен как самостоятельная загрузка (файл JAR) или как изображение Докера. Кроме WebGoat, есть ещё несколько подобных проектов OWASP, например, Juice Shop.

8. Hack.me

Проект сообщества Hackme — это библиотека кода. Любой может загружать примеры кода. Библиотека Hackme классифицируется по типам уязвимостей.

Подписаться на новости