# Dangling Markup - HTML scriptless injection {{#include ../../banners/hacktricks-training.md}} ## Resume Diese Technik kann verwendet werden, um Informationen von einem Benutzer zu extrahieren, wenn eine **HTML-Injection gefunden wird**. Dies ist sehr nützlich, wenn Sie **keinen Weg finden, um eine** [**XSS** ](../xss-cross-site-scripting/index.html) zu exploiten, aber Sie **einige HTML-Tags injizieren können**.\ Es ist auch nützlich, wenn ein **Geheimnis im Klartext** im HTML gespeichert ist und Sie es **exfiltrieren** möchten, oder wenn Sie eine Skriptausführung irreführen möchten. Mehrere hier kommentierte Techniken können verwendet werden, um einige [**Content Security Policy**](../content-security-policy-csp-bypass/index.html) zu umgehen, indem Informationen auf unerwartete Weise exfiltriert werden (HTML-Tags, CSS, HTTP-Meta-Tags, Formulare, Basis...). ## Main Applications ### Stealing clear text secrets Wenn Sie `test ``` ### Formulare stehlen ```html ``` Dann werden die Formulare, die Daten an den Pfad senden (wie `
`), die Daten an die bösartige Domain senden. ### Stealing forms 2 Setzen Sie einen Formular-Header: ``, dies wird den nächsten Formular-Header überschreiben und alle Daten aus dem Formular werden an den Angreifer gesendet. ### Stealing forms 3 Der Button kann die URL ändern, an die die Informationen des Formulars mit dem Attribut "formaction" gesendet werden. ```html ``` Ein Angreifer kann dies verwenden, um Informationen zu stehlen. Finden Sie ein [**Beispiel für diesen Angriff in diesem Bericht**](https://portswigger.net/research/stealing-passwords-from-infosec-mastodon-without-bypassing-csp). ### Stehlen von Klartext-Geheimnissen 2 Mit der zuletzt erwähnten Technik zum Stehlen von Formularen (Einfügen eines neuen Formular-Headers) können Sie dann ein neues Eingabefeld einfügen: ```html `-Tag injizieren. Alle Daten bis ein geschlossenes `` gefunden wird, werden gesendet: ```html Click Me ← Injected lines ← Existing form (ignored by the parser) ... ← Subverted field ... ...
``` ### Stehlen von Klartextgeheimnissen über noscript `` ist ein Tag, dessen Inhalt interpretiert wird, wenn der Browser JavaScript nicht unterstützt (Sie können JavaScript in Chrome unter [chrome://settings/content/javascript](chrome://settings/content/javascript) aktivieren/deaktivieren). Eine Möglichkeit, den Inhalt der Webseite vom Punkt der Injektion bis zum Ende auf eine von einem Angreifer kontrollierte Seite zu exfiltrieren, besteht darin, dies einzufügen: ```html