XSS v roku 2025: Starý trik, nové zbrane
Cross-site scripting (XSS) je jednou z najstarších, no stále najčastejších zraniteľností na webe. V roku 2025 sa XSS nielenže nezmizol, ale stal sa ešte sofistikovanejším. Útočníci využívajú AI na generovanie obfuskovaných payloadov, CMS systémy zápasia s pluginmi plnými dier a obrancovia musia reagovať rýchlejšie než kedykoľvek predtým.
Prečo je XSS stále aktuálne?
- Masívny nárast zraniteľností: V roku 2024 bolo v ekosystéme WordPress objavených 7 966 nových zraniteľností, z ktorých 96 % bolo v pluginoch. XSS tvorilo takmer polovicu z nich.
- AI generuje nové útoky: Frameworky ako GenXSS využívajú LLM modely (napr. GPT-4o) na generovanie XSS payloadov, ktoré obchádzajú WAF systémy ako ModSecurity s úspešnosťou až 80 %.
- DOM-based XSS stále narastá: S boomom SPAs (Single-Page Applications) sa čoraz častejšie stretávame s XSS založeným čisto na JavaScripte, bez interakcie so serverom.*
Techniky XSS útokov v roku 2025
1. Obfuskácia pomocou Unicode a Base64
<a href="javascript:\u0061lert(1)">klik</a>
2. CSP bypass cez data:
URI
<iframe src="data:text/html;base64,PHNjcmlwdD5hbGVydCgxKTwvc2NyaXB0Pg=="></iframe>
3. PostMessage chaining + window.name
Útočník pošle dáta do iframeu cez postMessage()
a v kombinácii s nezabezpečeným window.name
získa kontrolu nad flow.
4. XSS cez PDF/JS viewer
Mnohé aplikácie (napr. intranet portály) používajú slabé previewery ako PDF.js, ktoré nesprávne escapujú názvy súborov:
<script>alert(1)</script>.pdf
Stav CMS systémov
WordPress
- Pluginy ako Contact Form 7 a Elementor opakovane čelili XSS.
- Používanie shortcode bez správnej validácie je bežný problém.
Joomla
- Zraniteľnosti vznikajú cez rozšírenia, ktoré umožňujú HTML vstup.
- DOM-based XSS cez dynamické menu komponenty.
Drupal
- Lepšie zabezpečenie základného systému.
- Problémy nastávajú pri neoverenom vstupe do "Custom Blocks" a pri povolení raw HTML.
Headless CMS (Strapi, Ghost, Sanity)
- Zraniteľnosti cez neescapované
rich text
editačné polia. - Admin portály bez CSP sú často cieľom DOM XSS.
Reálne príklady (2024–2025)
app.smartconnect.io
– XSS cez SVG parser v rámci GraphQL API.cms-editorio.net
– Editor umožnil vložiť<script>
do metadát článku.careplus.sk
– Reflektovaný XSS v parametriutm_campaign
pri exporte do PDF.
Prevencia v roku 2025
CSP (Content Security Policy):
- Používaj nonce (napr.
script-src 'nonce-random123'
) - Vyhni sa
unsafe-inline
- Používaj nonce (napr.
Validuj a escapuj vstupy:
- Aj keď používate React/Vue, nikdy sa nespoliehaj len na ich escaping –
dangerouslySetInnerHTML
ťa zradí.
- Aj keď používate React/Vue, nikdy sa nespoliehaj len na ich escaping –
Automatizuj testovanie:
- Nástroje ako Dalfox, XSStrike, a custom Playwright-based testery
- Používaj CI/CD hooky pre bezpečnostnú kontrolu
Záver
XSS prežilo už tri dekády. Dôvod je jednoduchý – je lacné, efektívne a často podceňované. Rok 2025 priniesol nové nástroje, ale aj nové chyby.
Nech si developer, tester, admin alebo bounty hunter, pamätaj:
Každý vstup je potenciálne útočný kód.