CSP bypass: self + 'unsafe-inline' with Iframes
Last updated
Last updated
Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Eine Konfiguration wie:
Verbot der Nutzung von Funktionen, die Code ausführen, der als Zeichenfolge übertragen wird. Zum Beispiel: eval, setTimeout, setInterval
werden aufgrund der Einstellung unsafe-eval
blockiert.
Jeder Inhalt von externen Quellen wird ebenfalls blockiert, einschließlich Bilder, CSS, WebSockets und insbesondere JS.
Es wird beobachtet, dass moderne Browser Bilder und Texte in HTML umwandeln, um deren Anzeige zu verbessern (z. B. Hintergründe festlegen, zentrieren usw.). Folglich wird, wenn eine Bild- oder Textdatei, wie favicon.ico
oder robots.txt
, über ein iframe
geöffnet wird, sie als HTML gerendert. Bemerkenswert ist, dass diese Seiten oft keine CSP-Header haben und möglicherweise keine X-Frame-Options enthalten, was die Ausführung von beliebigem JavaScript von ihnen ermöglicht:
Ähnlich kommen Fehlermeldungen, wie Textdateien oder Bilder, typischerweise ohne CSP-Header und können X-Frame-Options weglassen. Fehler können dazu gebracht werden, innerhalb eines iframes geladen zu werden, was die folgenden Aktionen ermöglicht:
Nach dem Auslösen eines der genannten Szenarien ist die Ausführung von JavaScript innerhalb des iframes wie folgt möglich:
Lerne & übe AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Lerne & übe GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)