[英]Preventing XSS when using .attr('href', url) in jQuery
我想更新jQuery中的href
标签。 数据不受信任。 我试图了解如何制作恶意输入以引起XSS类型攻击。
<a href='http://example.com' class='link'>Link</a>
我的理解是,下面的函数应该意外终止href
标记并创建一个新属性onclick
,但是它不起作用。
$('.link').on('click', function(e){
e.preventDefault();
$(this).attr('href',"' onclick='alert(\"ok\")'");
});
这是小提琴: http : //jsfiddle.net/c1d7tuda/1/
PS End的目标是对HTML实体使用_.escape()
,但要证明其用法合理。
如果您使用未经验证的用户输入更新链接的href
属性,则恶意用户可以提供javascript:alert(0)
作为其href
值。 然后,如果用户单击链接,它将执行恶意用户的任意javascript。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.