javascript - 在 JavaScript 中使用 ASP.Net Request.QueryString 安全吗?

标签 javascript asp.net xss

考虑以下代码:

function redirect() {
    window.location = "../../index.aspx?<%=Request.QueryString%>";
}

此代码是否安全或是否会被 XSS 攻击利用?

如果是:

  1. 如何?
  2. 如何预防?

最佳答案

将其视为查询字符串:

Xx"; alert('pwned'); window.location ="whatever

基本上,您允许注入(inject)完全任意的 JavaScript。

最佳解决方案:永远不要接受直接的用户输入并以这种方式使用它。

第二个最佳解决方案:在使用它之前对其进行编码以在 JavaScript 字符串中使用。一个简单的 "在这里爆发。

还有;不要错误地为此进行 HTML 编码。这不会奏效,而且仍然很脆弱。

关于javascript - 在 JavaScript 中使用 ASP.Net Request.QueryString 安全吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15359317/

相关文章:

javascript - $http.get 之后 View 未更新

asp.net - 基于 ASP.NET Identity 的两个 ASP.NET 应用程序之间的通用身份验证

php - 保护必须写入数据库的输入的步骤?

Javascript 检查时间是否在 8 :30am and 6:30pm 之间

javascript - 成功后如何删除元素类?

javascript - 我希望我的提交按钮 console.log 用户在数组中输入的所有值

javascript - 从外部脚本访问外部脚本的位置对象

asp.net - 如何使用 MSBuild 发布 Asp.NET Web 应用程序?

html - 单击它时突出显示图像图标

javascript - 在 html 标签中禁用 js