Данным постом запускается рубрика образовательных постов об уязвимостях, механизмах защиты и прочих концепциях ИБ.
Делается это, чтобы новые люди в сообществе быстрее развивались и вникали в суть происходящего, а также для базового понимания того, о чем я планирую тут писать.
➡️ Cross-Site Scripting, или же XSS - это атака на веб-приложения, заключающаяся во встраивании JavaScript-кода в клиентскую часть приложения.
🔵 Тип:
Web, Client-Side (эксплуатация происходит в браузере жертвы).
Имеет три основные разновидности:
- 🎥 Reflected (отражённая) - полезная нагрузка "отражается" на странице, при переходе по ссылке, содержащей в себе эксплоит (сама ссылка может доставляться через соц. инженерию).
- 🎥 Stored (Хранимая) - полезная нагрузка внедряется в страницу (сохраняется в ней) и срабатывает каждый раз при её открытии.
- 🎥 DOM-based - полезная нагрузка встраивается в элементы DOM (Document Object Model) и эксплуатируется при определённых условиях.
🔵 Пример полезной нагрузки:
https://example.com/hello?name=<script>alert(1)</script>🔵 Влияние:
Наиболее часто: фишинг, кража cookie жертвы, выполнение действий от имени жертвы.
🔵 Как защититься?
Фильтрация и валидация ввода пользователя, кодирование специальных символов, использование WAF (Web Application Firewall) и CSP (Content Security Policy).
Лично я считаю атаку "обманчиво простой". При знакомстве с ней её эксплуатация, как и защита, выглядят тривиальными. Однако, в реальности защититься от неё трудно, существует множество обходов применённых мер защиты, а написание эксплоита может потребовать десятки строк кода и очень глубокого знания front-end технологий.
#intro #edu #vuln #web #xss


