# Dangling Markup - HTML scriptless injection {{#include ../../banners/hacktricks-training.md}} ## Resume 此技术可用于在发现**HTML注入**时从用户提取信息。如果您**找不到任何利用** [**XSS** ](../xss-cross-site-scripting/index.html)的方法,但可以**注入一些HTML标签**,这非常有用。\ 如果某些**秘密以明文形式保存在HTML中**,并且您想从客户端**提取**它,或者如果您想误导某些脚本执行,这也很有用。 这里评论的几种技术可以通过以意想不到的方式(html标签、CSS、http-meta标签、表单、base等)提取信息来绕过某些[**内容安全策略**](../content-security-policy-csp-bypass/index.html)。 ## Main Applications ### Stealing clear text secrets 如果您在页面加载时注入`test ``` ### 偷取表单 ```html ``` 然后,发送数据到路径的表单(如 `
`)将把数据发送到恶意域。 ### Stealing forms 2 设置表单头:`` 这将覆盖下一个表单头,所有来自表单的数据将被发送给攻击者。 ### Stealing forms 3 按钮可以通过属性 "formaction" 更改信息将要发送的表单的 URL: ```html ``` 攻击者可以利用这一点窃取信息。 在这个[**报告中找到此攻击的示例**](https://portswigger.net/research/stealing-passwords-from-infosec-mastodon-without-bypassing-csp)。 ### 窃取明文秘密 2 使用最新提到的技术窃取表单(注入新的表单头),然后可以注入一个新的输入字段: ```html Click Me ← Injected lines ← Existing form (ignored by the parser) ... ← Subverted field ... ...
``` ### 通过 noscript 偷取明文秘密 `` 是一个标签,其内容将在浏览器不支持 JavaScript 时被解释(您可以在 [chrome://settings/content/javascript](chrome://settings/content/javascript) 中启用/禁用 JavaScript)。 一种将从注入点到页面底部的网页内容导出到攻击者控制的网站的方法是注入以下内容: ```html