Fortify安全审查告诉我们一些路径操作漏洞。大多数都是显而易见的简单解决方案,但我不明白如何解决以下问题。
string[] wsdlFiles = System.IO.Directory.GetFiles(wsdlPath, "*.wsdl");
"wsdlPath"是从文本框中输入的。这是无法解决的问题吗?我可以验证路径是否存在,等等,但是这对漏洞有什么帮助呢?
使用该代码,任何经过身份验证并授权使用该功能的用户都可以访问服务器上的文件系统。访问将使用运行web应用程序的服务帐户的凭据完成。
根据返回数据的使用方式,恶意用户可能会获取更多信息或使服务器以非预期的方式运行。
您应该将允许的路径集限制为仅由一个或几个精心选择的目录组成。使用Path
类中的函数将字符串组合到路径中-它们负责处理用户输入c:\allowedpath\。。\windows\system32
为您提供。
您永远不应该将任何内容直接输入到操作系统API的未过滤部分。您应该清理输入,确保它不包含路径(即“../../../somefile”),并确保它截断长名称,并且只包含有效的文件名字符(例如,与国际字符相关的各种错误)。
如果数据总是从文本框中获取,其内容由用户决定,并且代码使用该用户的权限运行,那么唯一的威胁就是用户攻击自己。这不是一个有趣的威胁。
该工具试图提醒您的漏洞是,如果低信任恶意代码可以确定该字符串的内容,则恶意代码可以尝试发现有关用户机器的事实,如“我碰巧知道某个程序是否安装了安全漏洞并未修补?”或“此计算机上是否有名为“admin”的用户?”等等
是否有一个推荐的库来修复与org.apache.commons.beanutils.populate(bean,ParamMap)相关的Bean操纵漏洞?我试图编写一些自定义方法来验证参数映射,但这并没有解决问题。 问候桑杰
WSO2IS 5.8包括Log4j 1.2。17 已针对Log4j 1识别出一个安全漏洞CVE-2019-17571。Log4j包括一个SocketServer,它接受序列化的日志事件并反序列化它们,而不验证是否允许对象。这可以提供可以被导出的攻击向量。 有人知道是否可以在WSO2IS 5.8的上下文中利用此漏洞? 提前谢谢!
无法读取未定义的属性“b” 有没有其他替代办法?
运行静态扫描时,我收到一个Veracode错误:操作系统命令(“操作系统命令注入”)中使用的特殊元素的中和不当(CWE ID 78) 应用程序调用一个进程,其中包含我从前端收到的参数(应用程序在内部使用,这是一个userId)。 我如何解决这个Veracode问题?有没有“安全”的方式来运行流程?
参见文档“10. Web”部分
我有一个节点。我想在其中添加炫耀文档的jsAPI。客户通过JWT授权,因此我将此添加到安全中: 然后我可以将它添加到不同的路径中,告诉客户端,要做到这一点,您需要登录。 但是,如何添加更具体的安全约束呢?例如,用户只有在以该用户身份登录时才能编辑配置文件。或者,如果用户具有超级管理员状态,或者如果他是论坛的管理员,则可以编辑评论,评论将发布在 OR 上,作为创建此评论的用户进行记录。