摘要:通过这样做,研究人员发现他们可以他们通过重写函数指针来劫持程序的控制流,并获得对的完全控制。因此,发现该漏洞的研究人员高度推荐在项目中使用的维护人员应用可用的修复程序提交,以防止攻击。
根据分析,“rawset和rawget函数允许我们方便地访问给定类的成员。”在这个PoC中,Squirrel 解释器将解引用空指针和段错误,因为_defaultvalues数组还没有被分配。
攻击者可以通过以下方式触发漏洞:
创建具有0x02000005方法和0x1字段的类定义
使用对应的索引0x02000005访问该方法
当设置了位标志0x02000000时,_isfield()宏为该索引返回true
使用索引0x5访问_defaultvalues数组。但是,它只包含0x1项,因此攻击者已经越界访问了。
该漏洞很危险,因为恶意行为者可以设置可以读取和写入值的虚假数组。通过这样做,研究人员发现他们可以他们通过重写函数指针来“劫持程序的控制流,并获得对Squirrel VM的完全控制”。
网络安全研究团队提供了下图,显示了攻击者控制的指针链,可以对整个地址空间进行读写:
Squirrel GitHub 存储库的维护者在8月份承认了该漏洞。9月16日,作为代码提交的一部分推出了一个补丁。
但正如The Hacker News所指出的,这些更改并未包含在新的稳定版本中,最新的正式版本 (v3.1)于2016年3月27日发布。
因此,发现该漏洞的研究人员“高度”推荐在项目中使用Squirrel的维护人员应用可用的修复程序提交,以防止攻击。
在敏捷开发的今天,越来越多的开源代码及组件被开发人员引入到应用程序中来。相信任何企业都不想遭到网络攻击,但将不安全的代码引入软件会大大增加遭到网络攻击风险。建议企业在软件开发过程中或进行DevsecOps建设时,进行静态代码安全检测及开源代码安全测试,以确保自研代码及开源代码安全,同时提高软件安全性降低遭到网络攻击的风险。
参读链接:
threatpost.com/squirrel-at…
thehackernews.com/2021/10/squ…
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/122728.html
摘要:记录自余弦在上的演讲程序员与黑客防御就是提高攻击的成本架构思想一黑客思维应该贯穿整个公司的业务架构研发运维理想状态技术团队每个人都有黑客思维思想二优美的架构一定是健壮的想象下生态系统有漏洞被黑很正常快速自愈是关键思想三优美的架构一定 记录自余弦在qcon上的演讲 程序员与黑客(1) 防御就是提高攻击的成本 架构 思想一:黑客思维应该贯穿整个公司的业务[..->架构->研发->运维->....
阅读 3190·2021-11-23 10:09
阅读 2057·2021-10-26 09:51
阅读 974·2021-10-09 09:44
阅读 3897·2021-10-08 10:04
阅读 2740·2021-09-22 15:14
阅读 3618·2021-09-22 15:02
阅读 1034·2021-08-24 10:03
阅读 1718·2019-12-27 12:14