← Back to Index

UXSS — Universal Cross-Site Scripting

1-click persistent injection · cross-tab/cross-origin XSS · javascript: URL race

CRITICAL

Test 1 — 1-Click Cross-Tab UXSS (javascript: URL Race)

javascript: URLwindow.opencross-origin race

1 klik membuka tab target (google.com) dan langsung menyuntik javascript: URL ke window tersebut sebelum halaman selesai load. Di browser/WebView yang rentan, script akan eksekusi di dalam konteks origin target.

Cara kerja: window.open(target) → inject javascript:alert(document.domain) ke window yang baru dibuka dalam beberapa ms pertama, sebelum SOP enforcement selesai.

Waiting — klik tombol untuk trigger...
CRITICAL

Test 2 — iframe javascript: URL Injection

iframe srcjavascript: URLabout:blank inheritance

Membuat iframe, set src ke javascript: URL sebelum navigasi target berlangsung. Script dieksekusi dalam konteks origin yang sedang aktif di iframe.


Waiting...
HIGH

Test 3 — window.name Persistence (Cross-Navigation XSS Payload)

window.namecross-navigationpersistent

window.name persists across navigations. Attacker sets payload ke window.name, lalu korban dibuka ke target site yang membaca window.name tanpa sanitasi → XSS eksekusi di origin target.

Ini bekerja ketika target site melakukan: document.write(window.name) atau eval(window.name)
Waiting...
CRITICAL

Test 4 — Service Worker Persistent UXSS (Setiap Halaman Kena)

Service Workerpersistentresponse injection

Register Service Worker yang intercept semua HTML response dari origin ini. Setiap halaman yang dibuka di bawah browser.zkey0.com akan disuntik XSS banner secara otomatis — termasuk halaman yang baru dibuat/dibuka.

SW inject <script>alert(document.domain)</script> ke setiap HTML response sebelum diberikan ke browser. Persistent sampai SW di-unregister.
SW: Not registered

Waiting...
HIGH

Test 5 — postMessage Injection ke Opener

postMessageopenerinnerHTML injection

Halaman yang dibuka oleh user menyerang balik ke opener (halaman asli) via postMessage. Jika opener memiliki handler yang tidak aman (innerHTML, eval, document.write), XSS fires di origin opener.

Simulasi: buka child window → child kirim XSS payload via postMessage → handler di halaman ini eksekusi payload (vulnerable handler sengaja dibuat).
Victim area (akan disuntik)
Waiting...
HIGH

Test 6 — Prototype Pollution → DOM XSS

prototype pollutionDOM XSS__proto__

Polusi prototype melalui URL parameter ?__proto__[innerHTML]=<img onerror=alert(1)> atau hash. Jika framework/kode membaca dari prototype chain tanpa sanitasi, XSS fires.

Waiting...