mirror of
https://github.com/elicpeter/nyx.git
synced 2026-06-24 20:28:06 +02:00
[pitboss] phase 13: Track B — JavaScript + TypeScript harness emitter shapes
This commit is contained in:
parent
96eb37500c
commit
34a5879459
51 changed files with 2556 additions and 440 deletions
21
tests/dynamic_fixtures/javascript/browser_event/vuln.js
Normal file
21
tests/dynamic_fixtures/javascript/browser_event/vuln.js
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
// Phase 13 — browser-side event handler, vulnerable.
|
||||
//
|
||||
// Harness spins up jsdom (js_shared::emit_browser_event), assigns
|
||||
// `globalThis.document`, then calls `clickHandler(payload)`. The handler
|
||||
// writes payload into innerHTML — the XSS oracle's `<script>NYX_XSS_CONFIRMED
|
||||
// </script>` payload appears in the serialised DOM the harness mirrors to
|
||||
// stdout.
|
||||
|
||||
'use strict';
|
||||
// nyx-shape: browser-event
|
||||
|
||||
function clickHandler(payload) {
|
||||
process.stdout.write('__NYX_SINK_HIT__\n');
|
||||
const el = document.getElementById('out');
|
||||
if (el) {
|
||||
el.innerHTML = String(payload);
|
||||
}
|
||||
return el ? el.innerHTML : '';
|
||||
}
|
||||
|
||||
module.exports = { clickHandler };
|
||||
Loading…
Add table
Add a link
Reference in a new issue