ITPub博客

首页 > IT基础架构 > 网络安全 > 从finally块中return漏洞

从finally块中return漏洞

原创 网络安全 作者:zktq2021 时间:2021-09-09 11:28:44 0 删除 编辑

本期主题为从finally块中return漏洞的相关介绍。

一、什么是从finally块中return?

Java中的finally一般与try一起使用,在程序进入try块之后,无论程序是因为异常而中止或其它方式返回终止的,finally块的内容一定会被执行。

代码在finally块中有一个return语句,这将导致try块中的任何抛出异常被丢弃。

二、从finally块中return漏洞构成条件有哪些?

满足以下条件,就构成了一个该类型的安全漏洞:

1、代码在finally块中有一个return语句。try块中的异常因finally块中的return无法到达exit块被抛出。

三、从finally块中return漏洞会造成哪些后果?

关键词:改变执行逻辑;

本该抛出的异常或其它处理由于finally块中的return先行执行而被丢弃,所以导致上层程序无法执行对应的代码,产生问题。

四、从finally块中return漏洞的防范和修补方法有哪些?

不要在finally块中使用return语句。finally块应该有“cleanup”代码。

五、从finally块中return漏洞样例:

 

用 悟空 静态代码检测分析上述程序代码,则可以发现代码中存在着“从finally块中return非正常退出” 导致的代码缺陷,如下图:

 

从finally块中return在CWE中被编号为CWE-584: Return Inside Finally Block


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70000012/viewspace-2791174/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
中科天齐软件源代码安全缺陷检测平台(WuKong)是一款B/S 架构的国产信创静态软件安全测试工具,为客户在软件开发过程中查找、识别、追踪绝大部分主流编码中的技术漏洞与逻辑漏洞,帮助用户提升抵御网络攻击、防止数据泄露等安全问题的能力。

注册时间:2021-05-14

  • 博文量
    533
  • 访问量
    358764