如何在jQuery选择器中执行Javascript

时间:2015-12-19 06:07:16

标签: javascript jquery security dom xss

我有这样的代码:

$('.' + InjectionPoint).removeClass('classname');

其中InjectionPoint是由最终用户控制的部分,显然此代码容易受DOM XSS攻击,但它是否真的可以利用?攻击媒介怎么样?

由于

2 个答案:

答案 0 :(得分:4)

你认为“这段代码容易受到DOM XSS攻击”的基础是什么?

基于这个答案,在旧版本的jQuery中都是如此,但不是1.6.3之后的任何版本:https://stackoverflow.com/a/11170073/877682

答案 1 :(得分:0)

这绝对受XSS的影响。查看此文章,其中介绍了攻击者如何处理该问题:https://ttmm.io/tech/jquery-xss/

基本上,作者建议您使用document.querySelectorAll()而不是jQuery选择器函数。有人评论说这对jQuery 1.7及以上版本来说不是问题,但不要引用我的话。

一般来说,相信用户给你的东西永远都不是一个好主意。