CSP bypass: self + 'unsafe-inline' with Iframes
Last updated
Last updated
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Konfiguracja taka jak:
Prohibits usage of any functions that execute code transmitted as a string. For example: eval, setTimeout, setInterval
will all be blocked because of the setting unsafe-eval
Any content from external sources is also blocked, including images, CSS, WebSockets, and, especially, JS
Zauważono, że nowoczesne przeglądarki konwertują obrazy i teksty na HTML, aby poprawić ich wyświetlanie (np. ustawianie tła, centrowanie itp.). W związku z tym, jeśli plik obrazu lub tekstu, taki jak favicon.ico
lub robots.txt
, jest otwierany za pomocą iframe
, jest renderowany jako HTML. Należy zauważyć, że te strony często nie mają nagłówków CSP i mogą nie zawierać X-Frame-Options, co umożliwia wykonanie dowolnego JavaScriptu z nich:
Podobnie, odpowiedzi błędów, takie jak pliki tekstowe lub obrazy, zazwyczaj przychodzą bez nagłówków CSP i mogą pomijać X-Frame-Options. Błędy mogą być wymuszone do załadowania w iframe, co pozwala na następujące działania:
Po wywołaniu któregokolwiek z wymienionych scenariuszy, wykonanie JavaScriptu w obrębie iframe jest możliwe w następujący sposób:
Ucz się i ćwicz Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Ucz się i ćwicz Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)