hacktricks/pentesting-web/postmessage-vulnerabilities/blocking-main-page-to-steal-postmessage.md

6.3 KiB

Blocking main page to steal postmessage

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Winning RCs with Iframes

рдЗрд╕ Terjanq writeup рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╢реВрдиреНрдп рдореВрд▓ рд╕реЗ рдмрдирд╛рдП рдЧрдП рдмреНрд▓реЙрдм рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рд╕реБрд░рдХреНрд╖рд╛ рд▓рд╛рднреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрджрд┐ рдЖрдк рдореБрдЦреНрдп рдкреГрд╖реНрда рдХреЛ рд╡реНрдпрд╕реНрдд рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ iframe рдкреГрд╖реНрда рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрдЧрд╛ред

рдмреБрдирд┐рдпрд╛рджреА рд░реВрдк рд╕реЗ, рдЙрд╕ рдЪреБрдиреМрддреА рдореЗрдВ рдПрдХ рдЕрд▓рдЧ iframe рдирд┐рд╖реНрдкрд╛рджрд┐рдд рд╣реЛрддрд╛ рд╣реИ рдФрд░ рдареАрдХ рдмрд╛рдж рдореЗрдВ рдЬрдм рдпрд╣ рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдкреГрд╖реНрда рдПрдХ рдкреЛрд╕реНрдЯ рд╕рдВрджреЗрд╢ рдХреЗ рд╕рд╛рде рдЭрдВрдбрд╛ рднреЗрдЬрдиреЗ рд╡рд╛рд▓рд╛ рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╡рд╣ рдкреЛрд╕реНрдЯрдореИрд╕реЗрдЬ рд╕рдВрдЪрд╛рд░ XSS рдХреЗ рд▓рд┐рдП рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рд╣реИ (iframe JS рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ)ред

рдЗрд╕рд▓рд┐рдП, рд╣рдорд▓рд╛рд╡рд░ рдХрд╛ рд▓рдХреНрд╖реНрдп рд╣реИ рдХрд┐ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЛ iframe рдмрдирд╛рдиреЗ рджреЗрдВ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдкреГрд╖реНрда рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдбреЗрдЯрд╛ (рдЭрдВрдбрд╛) рднреЗрдЬрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕реЗ рд╡реНрдпрд╕реНрдд рд░рдЦреЗрдВ рдФрд░ рдкреЗрд▓реЛрдб рдХреЛ iframe рдореЗрдВ рднреЗрдЬреЗрдВред рдЬрдмрдХрд┐ рдорд╛рддрд╛-рдкрд┐рддрд╛ рд╡реНрдпрд╕реНрдд рд╣реИрдВ, iframe рдкреЗрд▓реЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдХреБрдЫ JS рд╣реЛрдЧрд╛ рдЬреЛ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЗ рдкреЛрд╕реНрдЯрдореИрд╕реЗрдЬ рд╕рдВрджреЗрд╢ рдХреЛ рд╕реБрдирддрд╛ рд╣реИ рдФрд░ рдЭрдВрдбрд╛ рд▓реАрдХ рдХрд░рддрд╛ рд╣реИред
рдЕрдВрдд рдореЗрдВ, iframe рдиреЗ рдкреЗрд▓реЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдФрд░ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХрд╛ рдкреГрд╖реНрда рд╡реНрдпрд╕реНрдд рд░рд╣рдирд╛ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдпрд╣ рдЭрдВрдбрд╛ рднреЗрдЬрддрд╛ рд╣реИ рдФрд░ рдкреЗрд▓реЛрдб рдЗрд╕реЗ рд▓реАрдХ рдХрд░рддрд╛ рд╣реИред

рд▓реЗрдХрд┐рди рдЖрдк рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЛ рд╡реНрдпрд╕реНрдд рдХреИрд╕реЗ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рдЙрд╕рдиреЗ iframe рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рдФрд░ рдмрд╕ рдЬрдм рд╡рд╣ рд╕рдВрд╡реЗрджрдирд╢реАрд▓ рдбреЗрдЯрд╛ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП iframe рдХреЗ рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣рд╛ рд╣реИ? рдмреБрдирд┐рдпрд╛рджреА рд░реВрдк рд╕реЗ, рдЖрдкрдХреЛ рдРрд╕реА рдЕрд╕рд┐рдВрдХреНрд░реЛрдирд╕ рдХреНрд░рд┐рдпрд╛ рдЦреЛрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕реЗ рдЖрдк рдорд╛рддрд╛-рдкрд┐рддрд╛ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд╕рдХреЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЙрд╕ рдЪреБрдиреМрддреА рдореЗрдВ рдорд╛рддрд╛-рдкрд┐рддрд╛ рдЗрд╕ рддрд░рд╣ рдХреЗ рдкреЛрд╕реНрдЯрдореИрд╕реЗрдЬ рд╕реБрди рд░рд╣рд╛ рдерд╛:

window.addEventListener('message', (e) => {
if (e.data == 'blob loaded') {
$("#previewModal").modal();
}
});

рдЗрд╕рд▓рд┐рдП рдПрдХ рдмрдбрд╝рд╛ рдкреВрд░реНрдгрд╛рдВрдХ рдкреЛрд╕реНрдЯрдореИрд╕реЗрдЬ рдореЗрдВ рднреЗрдЬрдирд╛ рд╕рдВрднрд╡ рдерд╛ рдЬреЛ рдЙрд╕ рддреБрд▓рдирд╛ рдореЗрдВ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ рдХреБрдЫ рд╕рдордп рд▓рдЧреЗрдЧрд╛:

const buffer = new Uint8Array(1e7);
win?.postMessage(buffer, '*', [buffer.buffer]);

рдФрд░ рд╕рдЯреАрдХрддрд╛ рд╕реЗ postmessage рдХреЛ iframe рдХреЗ рдмрдирдиреЗ рдХреЗ рдмрд╛рдж рд▓реЗрдХрд┐рди parent рд╕реЗ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реЛрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рднреЗрдЬрдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ setTimeout рдХреЗ рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХреЗ рд╕рд╛рде рдЦреЗрд▓рдирд╛ рд╣реЛрдЧрд╛ред

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}