Пошук і перевірка веб-вразливостей вимагає значну кількість знань та професійних вмінь. Та не лише! Потрібні ресурси, які можна вільно вивчати, на яких можна тренуватись знаходити та вызначати вразливості. Нижче наведені вісім вільних для використання веб-сайтів з вразливістю 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://www2.owasp.org/www-project-webgoat
Проект WebGoat – це не веб-сайт. Додаток із відкритим кодом потрібно завантажити та запустити самостійно. Це допомагає навчитися не тільки XSS (включаючи XSS на основі DOM), але й іншим типам атак. Зараз WebGoat має версію 8.0 і доступний як самостійне завантаження (файл JAR) або як зображення Докера. Окрім WebGoat, є ще кілька подібних проектів OWASP, наприклад, Juice Shop.

8. Hack.me

https://hack.me/t/XSS
Проект спільноти Hackme – це бібліотека коду. Будь-хто може завантажувати приклади коду. Бібліотека Hackme класифікується за типами вразливостей. Наведене вище посилання – це лише XSS частини бібліотеки. Вона включає в себе безліч різних прикладів, як простих, так і складних.