如何在 jQuery 选择器中执行 Javascript
How to execute Javascript inside jQuery selector
我有这样的代码:
$('.' + InjectionPoint).removeClass('classname');
其中 InjectionPoint
是由最终用户控制的部分,显然这段代码容易受到 DOM XSS 的攻击,但它真的可以被利用吗?攻击向量应该是什么样的?
谢谢
您认为 "this code is vulnerable to DOM XSS" 的依据是什么?
根据这个答案,jQuery 的旧版本是这样,但 1.6.3 之后的任何版本都不是:
这肯定是XSS问题。查看这篇描述攻击者可能如何处理的文章:https://ttmm.io/tech/jquery-xss/
基本上,作者建议您使用document.querySelectorAll() 而不是jQuery 选择器函数。有人评论说这对 jQuery 1.7 及更高版本来说不是问题,但不要引用我的话。
一般来说,相信用户给你的东西从来都不是一个好主意。
我有这样的代码:
$('.' + InjectionPoint).removeClass('classname');
其中 InjectionPoint
是由最终用户控制的部分,显然这段代码容易受到 DOM XSS 的攻击,但它真的可以被利用吗?攻击向量应该是什么样的?
谢谢
您认为 "this code is vulnerable to DOM XSS" 的依据是什么?
根据这个答案,jQuery 的旧版本是这样,但 1.6.3 之后的任何版本都不是:
这肯定是XSS问题。查看这篇描述攻击者可能如何处理的文章:https://ttmm.io/tech/jquery-xss/
基本上,作者建议您使用document.querySelectorAll() 而不是jQuery 选择器函数。有人评论说这对 jQuery 1.7 及更高版本来说不是问题,但不要引用我的话。
一般来说,相信用户给你的东西从来都不是一个好主意。