众多程序员无法攻克的难题
|
Zend类是整个Zend Framework的基类,之所以有这个类是为了使Zend Framework遵循DRY原则(Don't Repeat Yourself)。这个类只包含静态方法,这些类方法具有Zend Framework中的很多组件都需要的功能。 Zend Framework出现漏洞已经不是第一次了,早在2012年,WooYun就曝出了Zend Framework(ZF)框架中的XMLRPC模块存在xxe(XML external entity)注入漏洞,攻击者可借此读取服务器上的任意文件,包括密码文件及PHP源代码。当时200余家网站存在这一漏洞,知名开源建站平台Magento等使用ZF框架的建站系统也受该漏洞影响。 本周bleepingcomputer揭露了一个不受信任的反序列化漏洞,攻击者可以利用Zend Framework在PHP站点上实现远程代码执行。 目前这个漏洞被命名为CVE-2021-3007,此漏洞也可能影响Zend的替代项目Laminas,在一年前,Linux 基金会与 Zend Technologies、Rogue Wave Software 一起宣布 Zend 框架正在过渡到 Linux 基金会,并在新的治理框架下改名为 Laminas 项目。 Zend Framework由安装超过5.7亿次的PHP包组成,开发人员使用该框架构建面向对象的web应用程序。 从不受信任的反序列化到RCE 本周,安全研究员Ling Yizhou披露了Zend Framework 3.0.0中的一个特定gadget链是如何被滥用于不受信任的反序列化攻击中的。 如果漏洞被利用,远程攻击者可以在某些情况下对易受攻击的PHP应用程序进行远程代码执行(remote code execution, RCE)攻击。 Zend Framework 3.0.0有一个反序列化漏洞,如果内容是可控的,可能导致远程代码执行,这与Stream中的ZendHttpResponseStream类的__destruct方法有关。 虽然实际的不受信任的反序列化必须来自易受攻击的应用程序,而且Zend框架本身并不存在,但Zend提供的类链可能帮助攻击者实现RCE。 当应用程序从用户或系统接收的已编码数据在应用程序解码之前未经过适当验证时,应用程序中就会出现不受信任的反序列化漏洞。 一个易受攻击的应用程序可能会反序列化并处理接收到的格式不正确的数据,这可能会导致从应用程序崩溃(拒绝服务)到攻击者能够在应用程序上下文中运行任意命令等一系列后果。 在Zend的示例中,漏洞源于Stream类的析构函数,这是一个PHP魔术方法。 在面向对象编程中,构造函数和析构函数是在创建和销毁新类对象时分别调用的方法。 例如,在本例中,一个新创建的Stream对象将通过构造函数在其概念处运行一系列命令。 一旦对象在整个程序执行工作流程中达到其目的,PHP解释程序将最终调用该对象的析构函数,并遵循另一组命令来释放内存,执行清理任务并删除任何临时文件,这是一种好方法。
Yizhou指出,Stream的析构函数调用的用于删除文件的unlink()方法需要一个文件名作为参数,文件名是字符串数据类型。 G用户超2.5亿 从2019年10月31日5G套餐正式商用起,三大运营商便开启了在5G用户上的争夺战。纷纷祭出了电话推销、赠送流量、套餐促销等一系列举措。 截至2020年12月,中国移动5G套餐用户数已超1.65亿,当月新增1762.1万用户,2020年全年新增1.625亿。这个增长速度也超出了中国移动早期设立的目标。 中国电信方面,截至2020年12月,5G套餐用户数达8650万,当月新增702万,2020年全年新增8189万。为了注重5G用户数的增长,中国电信已经不再公布4G用户数。
中国联通方面则是保持一直以来的不公布5G用户数的风格,整个2020年,中国联通相关高管未对外传达5G用户相关的具体发展目标。 (编辑:阳江站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

