绕过XSS的HTML编码/转义

时间:2019-04-20 22:31:59

标签: javascript html xss

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

我正在尝试在<script>标签上运行<h3>标签。但是,似乎当我尝试将script标记注入h3标记时,它会对html进行编码({<&lt;>&gt;)。因此,它实际上不会将其识别为html标记,并且不会运行脚本。有谁知道这将如何实现?谢谢。

编辑:这是我要实现的目标:说这就是输入的来源:<h3>USER INPUT</h3>。我正在尝试执行类似的操作<h3></h3><script>alert('test');</script>,但是<>被转义到&lt;&gt;

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

1 个答案:

答案 0 :(得分:1)

发生的事情是Fortnite要求输入“标题”,而您以HTML代码的形式提供标题,例如:

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

然后,Fortnite Web服务器接受该文本,并出于安全原因对其进行清理。这样做是为了保护最终用户免受试图插入类似代码的人的侵害

 <script>StealAllTheMoney();</script>

这也称为用户输入的“ sanitization”。我们这样做是为了保护最终用户和我们的Web服务器。除非Fortnite一方存在漏洞,否则您将无法绕过该清理操作escapes some characters,因为它可能是恶意输入的一部分。在您的情况下,至少为“>”。