簡體   English   中英

在jQuery中使用.attr('href',url)時防止XSS

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM