PTK IAST test cases — DOM scenarios

Fixtures: 41

Runtime fixtures dedicated to the PTK IAST engine. The shipped extension uses the free rulepack, while local testing can load the full portal rulepack to validate policy-driven hook activation.

Some fixtures intentionally cover more than one module family. In particular: Open redirects also cover source-scoped redirect rules, DOM URL navigation also covers DOM link manipulation, Form submission hijack also covers dangerous form schemes, and Response field reachability also covers response-driven form targets.

Back to main

Free-pack fixtures

Free

DOM XSS sinks

innerHTML, outerHTML, insertAdjacentHTML, document.write, inline events, and DOM mutations.

Free

JS execution sinks

eval(), Function, and apply/call helpers with tainted payloads.

Free + Full

Open redirects

window.open, navigation.navigate, and source-scoped redirect sinks.

Free

Route controlled navigation

pushState, replaceState, and navigation.navigate using route-derived sources.

Free + Full

Form submission hijack

Form action/formAction target hijack and dangerous javascript:/data: form schemes.

Free + Full

Response field reachability

Response-derived DOM reachability and response-driven form target coverage.

Free + Full

Prototype pollution impact

Controlled prototype writes plus fetch(init) impact validation.

Base + Full

DOM URL navigation

location.*, history navigation, and href/src/action/formaction manipulation.

Free

Dynamic script loading

Assign attacker-controlled URLs to <script> elements.

Full-pack fixtures

Full

DOM XSS secondary sources

Cookie, storage, window.name, hash route, postMessage, and referrer driven DOM XSS.

Full

Storage taint to execution

Secondary-source taint reaching eval, Function, and string timers.

Full

WebSocket URL poisoning

Tainted route/query/storage/message values passed to new WebSocket(url).

Full

FileReader sensitive flows

Tainted File metadata used through readAsText, readAsDataURL, and readAsArrayBuffer.

Full

XPath injection

document.evaluate() with tainted XPath expressions.

Full

Client SQL injection

openDatabase and executeSql coverage for tainted client-side SQL flows.

Full

DOM clobbering

Named-property clobbering via attacker-controlled id/name values.

Full

DOM parser XSS

DOMParser, contextual fragments, and setHTMLUnsafe parser-like sinks.

Full

Client JSON parsing

JSON.parse sink coverage for tainted JSON payloads.

Full

document.domain

document.domain assignments with tainted inputs.

Full

Client HTTP exfiltration

fetch, XHR, sendBeacon, and image beacons with tainted values.

Full

Storage token leaks

localStorage, sessionStorage, and cookie persistence of sensitive data.

Full

postMessage misuse

Wildcard and cross-origin postMessage flows.

Full

IFrame navigation

iframe.src and iframe.srcdoc flows.

Full

Timer-based execution

setTimeout/setInterval string execution sinks.

Full

Realtime exfiltration

WebSocket and RTCDataChannel send sinks.

Full

Debug logging leaks

console.log and console.error on tainted secrets.

Full

Clipboard writes

navigator.clipboard.writeText exfiltration.

Full

Broadcast/Message channels

BroadcastChannel and MessageChannel postMessage flows.

Full

Worker registrations

ServiceWorker and Worker constructor flows pointing at tainted script URLs.

Full

Blob object URL execution

Blob and object-URL payloads flowing into script, iframe, worker, and window-opening sinks.

Full

Inbound channel trust

BroadcastChannel, MessagePort, and Worker messages driving DOM, code, and navigation sinks.

Full

Form submit trust

submit() and requestSubmit() executing tainted form targets.

Full

IndexedDB and CacheStorage

Persisted browser state replayed into execution and request-shaping sinks.

Full

Trusted Types and sanitizers

Trusted Types callbacks and dangerous DOMPurify configuration with tainted input.

Full

CSRF-like requests

Credentialed cross-site fetches lacking CSRF material.

Full

Session material cross-boundary

Headers, beacons, WebSocket/WebRTC, and postMessage reuse of session-like values.

Full

Storage-backed request reuse

Stored URLs and headers reused in fetch and XHR.

Helper and playground fixtures

Helper

Referrer helper

Open another fixture with a controlled document.referrer.

Playground

Runtime playground

Combined exploratory playground mirroring juice-shop style sinks.