考虑以下代码:
function redirect() {
window.location = "../../index.aspx?<%=Request.QueryString%>";
}
此代码是否安全或是否会被 XSS 攻击利用?
如果是:
- 如何?
- 如何预防?
最佳答案
将其视为查询字符串:
Xx"; alert('pwned'); window.location ="whatever
基本上,您允许注入(inject)完全任意的 JavaScript。
最佳解决方案:永远不要接受直接的用户输入并以这种方式使用它。
第二个最佳解决方案:在使用它之前对其进行编码以在 JavaScript 字符串中使用。一个简单的 "在这里爆发。
还有;不要错误地为此进行 HTML 编码。这不会奏效,而且仍然很脆弱。
关于javascript - 在 JavaScript 中使用 ASP.Net Request.QueryString 安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15359317/