javascript - 修复 Javascript 中的反射 XSS 问题。 CheckMarx

标签 javascript xss mean-stack

我尝试使用 CheckMarx 验证我的代码,但遇到了几个无法找到修复的漏洞。以下是引发漏洞的代码行。

window.location.href = url + "?"+"appPageId="+  
$rootScope.selectedContext.defaultAppPageId + "&hierarchyId="+ 
$rootScope.defaultHierarchyId

我尝试用编码修复它,如下所示

var redirectUrl = url + "?"+"appPageId="+  
$rootScope.selectedContext.defaultAppPageId + "&hierarchyId="+ 
$rootScope.defaultHierarchyId
window.location.href = encodeURI(redirectUrl)

但我仍然遇到同样的问题。是否有修复此客户端 DOM 开放重定向漏洞的方法?

此外,我收到以下行的反射 XSS 问题

    res.send("The Context
    "+req.params.contextName+" has restricted access. Please request 
    access to this page");

可能是因为我正在使用 res.send。我想这也将按照与上述问题相同的方式得到解决。

如有任何帮助,我们将不胜感激。

最佳答案

确保清理您从用户那里获得的任何输入,包括从请求中获取任何参数。您可以找到许多可以为您执行此操作的清理模块或中间件,只需尝试快速谷歌搜索即可。

至于开放重定向,如果 url 参数来自用户,请使用 Regex 或类似的东西来解析域。它甚至可以像确保它以正确的协议(protocol)和域开始一样简单。

关于javascript - 修复 Javascript 中的反射 XSS 问题。 CheckMarx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57703800/

相关文章:

javascript - 默认情况下具有一键的对象(getter/setter)

javascript - XSS javascript,利用检查

javascript - 不验证直接使用window.location.href是否安全

node.js - MEAN Stack平台有BI/OLAP工具吗?

node.js - NodeJS MongoDB 在聚合管道中传递参数

angular - 无法使用 Angular cli 以 Angular 注册服务 worker

javascript - 迭代 JavaScript 对象并删除数组

javascript - JavaScript 中的 Reflect 对象有什么作用?

javascript - 使用 Node 加密和解密字符串

php - 是否需要验证或转义 jsonp 回调字符串