18910140161

JavaScript--有没有引号或html标记的XSS可能吗?-堆栈溢出

顺晟科技

2022-10-19 13:13:56

182

我试图确定同事的代码是否容易受到XSS的攻击。他们正在构建一个小部件,该小部件接受用户输入作为查询参数,以配置使用Konva和HTML画布构建的用户界面。

程序将使用用户输入向用户界面添加文本或指定十六进制颜色字符串来配置UI的一些原色。他们允许通过查询参数配置小部件,这样配置的小部件就可以很容易地与其他人共享。

我的问题是,假设web应用程序正确地从用户输入中删除或清除了所有HTML标记和引号,那么如果用户通过任何普通的或编码的JavaScript发送,还可能存在XSS漏洞吗?

Ruby on Rails(ERB)示例:

我们有javascript,它将接受这些值并显示在画布上,如:

同样,假设HTML标记和引号被剥离或净化为十六进制,用户是否可以以某种方式在查询参数中输入(十六进制编码的)javascript来执行任意JS?

如果这不是直接可能的,这种方法还有其他问题吗?我已经看到了一些内联javascript的用法,比如:

如果将来的开发人员在传递用户输入时实现这一点,那将是不好的。但我找不到一个规范,说明哪些HTML属性允许像这样的内联javascript,或者是否有另一种方法来编码原始javascript,当它是文本输入的值时可能会执行(当然,除了使用类似的方法之外)。


顺晟科技:

  • TAG:
相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航