最近發現 jQuery 1.6.1 版本存在一個嚴重的安全漏洞,該漏洞可能導致跨站腳本攻擊(XSS)。
<script> var input = "<img src=javascript:alert(1)>"; alert($.parseHTML(input)[0].src); </script>
上面的代碼演示了該漏洞的原理。通常,我們通過 jQuery 的 parseHTML 方法來解析用戶輸入的 HTML 代碼,然后對其進行操作。但是在 jQuery 1.6.1 版本中,如果輸入的內容中包含 JavaScript 代碼,那么該代碼不僅僅只是被解析,還會被執行。
這樣一來,攻擊者就可以構造出一個特定格式的惡意代碼,讓用戶在不知情的情況下執行該代碼,進而造成損失。
因此,如果您正在使用 jQuery 1.6.1 版本,建議盡快升級到更高的版本,或者使用其它的解析 HTML 代碼的方法來避免這個問題。