XSS-是否可以通过删除“ <”来清除用户输入?

时间:2020-02-13 02:28:30

标签: javascript xss sanitization html-sanitizing

在前端,是否可以通过从用户内容中删除<来捕获所有XSS攻击?这似乎是禁用恶意代码的一种简单方法,目前我没有用例需要保留<。在所有情况下都能正常工作吗?

我显示用户内容的方式始终是内部html,例如

<div>{USER CONTENT}</div>

2 个答案:

答案 0 :(得分:1)

取决于您使用用户输入的位置。

如果您在a href=中使用它,那就好了:不!

<a href="{{linkFromUser}}">

然后可能是javascript:alert('oh no');

,如果在页面上下文中按下链接,浏览器将执行

答案 1 :(得分:0)

为明确起见,答案是在接受的答案的评论中

Lux 友善地链接了document,确认类似的实体编码<方法足以防止脚本在内部html内容中运行(这几乎回答了我的问题) 。但是,&也需要编码,UTF7 XSS字符集应避免使用(显然)。

相关问题