使用 html 实体执行跨站点脚本
Posted
技术标签:
【中文标题】使用 html 实体执行跨站点脚本【英文标题】:Executing cross site scripting using html entity 【发布时间】:2019-06-20 04:54:17 【问题描述】:我有一个关于 XSS 的问题:
当我阅读应该防止 XSS 的 html 实体,但从以下站点阅读时:https://www.owasp.org/index.php/XSS_Filter_Evasion_Cheat_Sheet#HTML_entities 我看到他们建议使用以下方法进行绕过:
"<IMG SRC=javascript:alert("XSS")>"
这里的html实体需要防御XSS不是吗?
-
是否可以使用 HEX 注入 XSS?
谢谢
【问题讨论】:
【参考方案1】:使用上面的 Payload &lt;
&gt;
这两个符号将被转换为 &lt;
和 &gt;
转义输入并且没有机会触发 XSS。
当然 Html 实体用于防止 XSS 攻击,但有些情况会有所不同,具体取决于网站处理输入的方式。
是的,完全可以使用 HEX 来注入 XSS。
<a href=&#x6A&#x61&#x76&#x61&#x73&#x63&#x72&#x69&#x70&#x74&#x3A&#x61&#x6C&#x65&#x72&#x74&#x28&#x27&#x58&#x53&#x53&#x27&#x29>Click Here</a>
【讨论】:
在这种情况下 不会被转换。只有这个:"。那么它会运行吗?以及为什么在他们推荐使用 javascript 十六进制编码来防御 JavaScript 变量中的 XSS 的建议中? owasp.org/index.php/… 这完全取决于他们如何解析有效负载。如果它没有转换这些 那么 XSS 肯定会执行,并且可以通过在警报 中使用整数值来简单地绕过它以上是关于使用 html 实体执行跨站点脚本的主要内容,如果未能解决你的问题,请参考以下文章