绕过 HTML Encoding/Escaping XSS

Bypass HTML Encoding/Escaping for XSS

当您在名为 "Fortnite" 的游戏中发布地图时,它会要求您提供名称、描述和可选的 Youtube 视频。我想要做的是将 "description" 设置为脚本标记。检查 site here 上的描述并编辑为 html 以查看发生的编码,您输入的描述设置为 island-header-tagline h3 标签

我正在尝试 运行 在 <h3> 标签上添加 <script> 标签。然而,似乎当我尝试将脚本标签注入 h3 标签时,它 html 对其进行了编码(<&lt;>&gt;)。所以它实际上并没有将其识别为 html 标记,也没有 运行 脚本。有谁知道这将如何实现?谢谢。

编辑:这是我要实现的目标:说这是输入的地方:<h3>USER INPUT</h3>。我正在尝试做这样的事情 <h3></h3><script>alert('test');</script> 但是 <> 被转义为 &lt;&gt;

P.S.: 我正在学习 XSS(用于非恶意目的)

发生的情况是 Fortnite 要求 "title",而您以 HTML 代码的形式提供标题,例如:

 <script>alert('test');</script>

然后 Fortnite web-server 接受该文本,并且出于安全原因将其清理。这样做是为了保护最终用户免受试图插入

之类代码的人的侵害
 <script>StealAllTheMoney();</script>

这也称为“sanitization" of user inputs. We do that in order to protect end-users and our web-server. Unless there is a vulnerability on the Fortnite's side, there is nothing you can do to bypass that sanitization as it escapes some characters,它可能是恶意输入的一部分。在您的情况下,它至少是“>”。