安全|让全世界大厂都手忙脚乱的代码漏洞 是怎么一步步成为噩梦的?( 二 )


文章图片

不知道这个数据有没有包含用户数据,但我建议龙马哥先别急着解释这茬了,还是赶紧把这个漏洞修修吧,不然到时候可能真的不好收场 。

安全|让全世界大厂都手忙脚乱的代码漏洞 是怎么一步步成为噩梦的?
文章图片

咳咳,扯远了……
说回这次的漏洞,最可怕的地方在于实现起来没什么门槛,只要用一串简单的字符,就能轻易攻破服务器,并在上面运行各种代码……
这别说是窃取个人信息了,黑客想要远程挟持、瘫痪企业级的服务器,那也是毫无阻碍 。
那黑客到底是怎么样利用漏洞,用几串字符就轻松攻破服务器的呢?

安全|让全世界大厂都手忙脚乱的代码漏洞 是怎么一步步成为噩梦的?
文章图片

要整明白这个问题,我们得先搞清楚啥是日志 。
众所周知啊,程序员在敲完一段代码之后,肯定不可能马上拿来用,而要通过反复的测试来验证代码的可行性 。
但代码本身在跑的时候,处于一个黑箱状态,如果放任它瞎跑的话,跑到一半卡住,根本不知道是错在哪一步上 。
这就好像是做数学题时候如果没草稿纸,在心里算总是没个底 。
这时候,日志的作用就体现出来了,它就好像是一大张草稿纸,能在上面做任何你自己看的懂得步骤和标记,方便随时随地验算 。
本质上日志是程序员们经常使用的一个工具,它把代码在测试过程中的每一步都给记录下来,跑完再回头 Debug 的时候,就很有针对性,效率也高 。

安全|让全世界大厂都手忙脚乱的代码漏洞 是怎么一步步成为噩梦的?
文章图片

而 Log4J2,就是这么一个开源的日志框架,它里面整合了不少在修改代码时会用到的常用功能,比如日志管理、输出变量等实用功能 。

安全|让全世界大厂都手忙脚乱的代码漏洞 是怎么一步步成为噩梦的?
文章图片


这次的高危漏洞就是源于 Log4J2 中一个叫 Lookups 的功能 。
从字面上理解,这个功能就是一个用来搜索内容的接口,想要搜些啥,那就要靠代码去实现了 。

安全|让全世界大厂都手忙脚乱的代码漏洞 是怎么一步步成为噩梦的?
文章图片

Log4J2 也在 Lookups 的功能下,提供了不少实现的途径,问题就出在这个叫 JNDI 的途径上 。

安全|让全世界大厂都手忙脚乱的代码漏洞 是怎么一步步成为噩梦的?
文章图片

JNDI 被 Java 允许通过远程连接的方式来加载文件,这个远程地址可以是开发者自己的服务器,也可以是外界的服务器 。

推荐阅读