【发布时间】:2020-03-08 11:05:16
【问题描述】:
我有以下两个问题:
1)如何防范此类XSS攻击?
如果假设由于某种原因,查询参数嵌入到图像加载事件中,那么它会是这样的
<img src=x onload="javascript:alert('XSS')">
//And browser treats as
<img src=x onload="javascript:alert('XSS')">
我已经在使用 PHP 的 htmlspecialchars() 和 Filtar_var() 和 URL Sanitization,但是这种编码的 XSS 很容易通过这些函数
我们如何防御这种 Encoded XSS 或中和任何此类攻击?
2) XSS 攻击是否需要嵌入到 HTML 页面、Javascript 或 CSS 等中才能被触发?或者有一种不需要嵌入 XSS 的方法?
【问题讨论】:
-
请说明拒绝投票的原因,以便我纠正我的问题。我已经尽力了我的水平,只问这个是因为我向专家寻求一些专业知识。谢谢。如果这是一个重复的问题,请指出我,因为我找不到。
-
XSS 攻击防范既简单又困难。这很容易,因为您不需要过滤各种东西 - 只需避免直接使用不受信任的数据。为了防止它,也很难识别不受信任的数据是什么。在您的示例中,您有一个包含为 URL 的脚本标记。如果您从不获取 URL、对其进行解码并将其插入 HTML 原始文件中,那么您将不会触发攻击。
-
@VLAZ 感谢您的回复。上面的编码 URL 是我的用户的输入,他试图 XSS 攻击我的网站。我的规则无法检测到它并绕过它。我想知道我应该怎么做才能减轻这种 XSS 攻击。我想允许我的用户在 cmets 中提供任何链接。因为这是用户对评论页面的输入
标签: javascript php html security xss