转 Fortofy扫描漏洞解决方案2
Fortify漏洞之Portability Flaw: File Separator 和 Poor Error Handling: Return Inside Finally
继续对Fortify的漏洞进行总结,本篇主要针对 Portability Flaw: File Separator 和 Poor Error Handling: Return Inside Finally 漏洞进行总结,如下:
1、Portability Flaw: File Separator(文件分隔符)
1.1、产生原因:
不同的操作系统使用不同的字符作为文件分隔符。例如,Microsoft Windows 系统使用“\”,而 UNIX 系统则使用“/”。应用程序需要在不同的平台上运行时,使用硬编码文件分隔符会导致应用程序逻辑执行错误,并有可能导致 denial of service(拒绝服务)。
例 1:以下代码使用硬编码文件分隔符来打开文件:
...
File file = new File(directoryName + "\\" + fileName);
1.2、修复方案:
为编写可移植代码,不应使用硬编码文件分隔符,而应使用语言库提供的独立于平台的 API。
例 2:下列代码执行与例 1 相同的功能,但使用独立于平台的 API 来指定文件分隔符:
...
File file = new File(directoryName + File.separator + fileName);
...
2、Poor Error Handling: Return Inside Finally
2.1、产生原因:
finally 块中的返回指令会导致从 try 块中抛出的异常丢失。
例 1:在下列代码中,调用 doMagic 方法,会导致抛出 Exception 异常,但该异常将不会传递给调用者,因为finally 块中的返回指令会导致异常的丢弃。
public static void doMagic() throws Exception {
try {
throw new Exception(“Something error!”); //1.抛出异常
}catch(Exception e){ //2.捕获异常匹配,进入控制块
throw e;
}finally { //3.throw前控制转移到finally块,执行完后再返回
return true; //4.控制转移,直接return,不再返回catch块,吃掉了异常
}
}
2.2、修复方案:
将返回指令移到 finally 块之外。如果必须要finally 块返回一个值,可以简单地将该返回值赋给一个本地变量,然后在 finally 块执行完毕后返回该变量。
1、不要在finally里面写return语句
转 Fortofy扫描漏洞解决方案2的更多相关文章
- 转 Fortofy扫描漏洞解决方案
Log Forging漏洞: 数据从一个不可信赖的数据源进入应用程序. 在这种情况下,数据经由CreditCompanyController.java 的第 53行进入 getParameter(). ...
- 针对需要使用T3协议的Weblogic2628漏洞解决方案
针对需要使用T3协议的Weblogic2628漏洞解决方案 前几天用户的服务器中检查到了Weblogic2628l漏洞,并且打过Oracle官方补丁后还是能检测到. 针对此问题,去网上查找了一些资料. ...
- URL存在跨站漏洞http host头攻击漏洞解决方案
最近项目部署的时候客户使用的绿盟扫描出一些漏洞,老大让我处理,经过看大神的博客等方式,分享一些简单的解决方法. 一 跨网站脚本 跨网站脚本(Cross-site scripting,通常简称为XSS或 ...
- Mybatis3.2不支持Ant通配符TypeAliasesPackage扫描的解决方案
业务场景 业务场景:首先项目进行分布式拆分之后,按照模块再分为为api层和service层,web层. 其中订单业务的实体类放在com.muses.taoshop.item.entity,而用户相关的 ...
- XSS(跨站脚本攻击)漏洞解决方案
首先,简单介绍一下XSS定义: 一 . XSS介绍 XSS是跨站脚本攻击(Cross Site Scripting)的缩写.为了和层叠样式表CSS(Cascading Style Sheets)加以区 ...
- Google zxing实现二维码扫描完美解决方案
最近因项目需求,需要在App中集成二维码扫描的功能.网上找了很多资料,最后决定使用Google的zxing来实现.实现的过程遇到了很多的坑,也是因为这些坑在网上没有具体的解决方案,今天就把我的实现过程 ...
- 安全漏洞系列(一)---XSS漏洞解决方案(C# MVC)
参考地址:https://www.cnblogs.com/sagecheng/p/9462239.html 测试项目:MVCDemo 一.XSS漏洞定义 XSS攻击全称跨站脚本攻击,它允许恶意web用 ...
- XSS漏洞解决方案之一:过滤器
一:web.xml文件 <!-- 解决xss漏洞 --> <filter> <filter-name>xssFilter</filter-name> ...
- Android WebView的Js对象注入漏洞解决方案
http://blog.csdn.net/leehong2005/article/details/11808557/ webview调用以下文件,就可以打印sdcard 文件名 <!DOCTYP ...
随机推荐
- 【亲测有效】Ubuntu18.04 sudo apt update无法解析域名的解决方案
问题描述如下: 拿起了封尘已久的ThinkPad,输入 sudo apt update 的时候,发现这个命令变得不好使了,具体出现的问题如下图所示: #( 09/08/19@ 2:44下午 )( py ...
- window下操作jenkins查看页面的几种方式
原文:https://blog.csdn.net/kennin19840715/article/details/78782505 前几天通过jenkins本机执行selenium cases, 发现浏 ...
- 有 va_arg宏 中数组下标-1 引发的思考 - C 语言中内存模型
va_arg宏,是头文件 stdarg.h 中定义的,获取可变参数的当前参数. #define va_arg(list, mode) ((mode*)(list+=sizeof(mode)))[-1] ...
- Centos系统配置bond0
版权声明:本文为博主原创文章,支持原创,转载请附上原文出处链接和本声明. 本文链接地址:https://www.cnblogs.com/wannengachao/p/11942254.html 1.查 ...
- 【PAT甲级】1008 Elevator (20分)
1008 Elevator 题目: The highest building in our city has only one elevator. A request list is made up ...
- cannot resolve symbol 'XXX'
原因:出现这种情况的原因是在IDEA或者myeclipse编译器中没有导入相关的jar包(jar包相当于类的集合,可以使用其中的类): 针对IDEA出现cannot resolve symbol 'X ...
- c 和 c++ 啊 Make
- linux学习(六)文件基本属性
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限.为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定. 在Linux中我们可 ...
- session:
内容回顾: 多对多 class Pulisher(models.Model): name = models.CharField(max_length=32) class Book(models ...
- <BackTracking> permutation 254 47 60
254. Factor Combinations class Solution { public List<List<Integer>> getFactors(int n) { ...