ITPub博客

首页 > IT基础架构 > 网络安全 > 代码安全测试第七期:不安全的反射漏洞缺陷

代码安全测试第七期:不安全的反射漏洞缺陷

原创 网络安全 作者:zktq2021 时间:2021-05-26 10:24:47 0 删除 编辑

1、 什么是不安全的反射漏洞?

反射这一概念最早由编程开发人员Smith在1982年提出,主要指应用程序访问、检测、修改自身状态与行为的能力。这一概念的提出立刻吸引了编程界的极大关注,各种研究工作随之展开,随之而来引发编程革命,出现了多种支持反射机制的面向对象编程语言。

在Java编程语言中,Java反射机制主要提供了以下功能:

·在运行时判断任意一个对象所属的类;

·在运行时构造任意一个类的对象;

·在运行时判断任意一个类所具有的成员变量和方法;

·在运行时调用任意一个对象的方法;

·生成动态代理。

不安全的反射是指应用程序使用具有反射功能的外部输入来选择要使用的类或代码,可能被攻击者利用而输入或选择不正确的类或代码。如果发生这种情况,那么攻击者可能会创建开发人员不想要的逻辑路径。这些路径可能会绕过身份验证或访问控制检查,或者导致应用程序异常运行。执行未经授权的代码或命令、改变执行逻辑、崩溃、退出或重启,读取应用程序数据等。

2、不安全的反射漏洞的构成条件有哪些?

①不可靠的外部输入进入程序;

②程序使用外部输入进行实例化类并运行。

3、不安全的反射漏洞会造成哪些后果?

①攻击者可能能够执行攻击者无法直接访问的代码;

②攻击者可以在错误的位置或错误的时间调用其它代码,这可能会更改关键的系统状态。

③攻击者能够使用反射来调用错误的代码,使用违反API的意外参数,这可能导致应用程序退出或挂起。通过导致调用错误的代码,攻击者可能能够触发运行时错误,从而泄露错误消息中的敏感信息。

4、如何防范修补不安全的反射漏洞?

①重构代码以避免使用反射;

②尽量避免使用用户控制的输入来选择和加载类或代码。

5、不安全的反射漏洞样例:

用静态代码检测分析上述程序代码,则可以发现代码中存在着不安全的反射 安全漏洞,如下图:

不安全反射在CWE中被编号为CWE-470:Use of Externally-Controlled Input to Select Classes or Code('Unsafe Reflection'),中文意思是:使用外部控制的输入来选择类或代码(不安全反射)。


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

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

注册时间:2021-05-14

  • 博文量
    533
  • 访问量
    358716