CVE-2022-2073 Grav CMS Twig SSTI RCE 漏洞及最新版补丁绕过


声明

出品|且听安全(ID:WCyber)

以下内容,来自且听安全公众号的WCyber作者原创,由于传播,利用此文所提供的信息而造成的任何直接或间接的后果和损失,均由使用者本人负责,长白山攻防实验室以及文章作者不承担任何责任。

漏洞信息

Grav 是一个快速、简单、灵活、基于文件的开源网络平台,在 Github 上的 Star 达到 13.3k 。

Grav CMS 可以通过 Twig 来进行页面的渲染,曾经爆出过模板注入漏洞 CVE-2021-29440 ,但是修复不彻底, 近期监测又通报了CVE-2022-2073 ,这个漏洞可以理解为是CVE-2021-29440补丁的绕过吧。影响最新版 v1.7.34 以下的版本。

Twig 渲染

Grav CMS 支持 Twig 模板引擎进行页面渲染:

对应在`/user/pages`页面模板目录下存在配置信息:

title: Homebody_classes: 'title-center title-h1h2'process:    markdown: true    twig: true

默认安装的 Twig 为v1.x 系列:

接到请求后通过 `Twig#processSite` 来加载页面:

函数会调用`$page#content`来获取页面内容,如果开启了Twig渲染页面功能,将进入`processTwig`函数:

Twig 完成页面渲染的主要代码段如下:

CVE-2021-29440 及补丁

Twig模板引擎的沙箱功能禁用了PHP函数,但是可以通过 `registerUndefinedFunctionCallback`注册回调函数的方式执行PHP函数,而Grav CMS在`Twig#init` 完成Twig定义时刚好就注册了回调过程,历史上 Grav CMS就曾经在这个地方爆出过RCE漏洞CVE-2021-29440 ,影响 v1.7.10及以下版本,当时定义的`registerUndefinedFilterCallback`回调过程没有对PHP函数进行任何限制:

直接通过`system('id')`就可以实现命令执行。在新版本中增加了危险函数检查:

函数黑名单如下:

常见的 PHP 执行命令、包含文件、读写文件以及回调处理等函数都加入了黑名单,对 PHP 才粗学浅没有找到遗漏的可利用函数,尝试在 PHP 函数名和括号间加入控制符号绕过黑名单也没有成功(小伙伴有兴趣可以找找漏掉的...)。

CVE-2022-2073

绕过上面的补丁非常简单,因为Twig模板渲染还可以使用过滤器来实现RCE:

修复方式及绕过

v1.7.34 版本中修复了漏洞,补丁对比如下:

对过滤器`filter` 增加了检查:

但是也很好绕过。主要由`CyberoamCommonServlet`进行处理,该类主要解析`mode`值,并通过`mode`进行分发:

进入`_doPost`函数继续进行分发, `EventBean`从数据库中获取`mode`对应的属性,其中就包括关键属性`Requesttype`:

通过`Requesttype`将请求分为了三种:

进入`CyberoamCustomHelper`之后,通过匹配`mode`值进行分发,将会进入`WebAdminAuth`类中进行处理:

`process`函数对请求中的JSON字段进行解析,获取`jsonObject`之后将会给 `cscClient`通过`localhost:299`发送给CSC进程进行处理:

比较有意思的是Sophos通过`cscClient`返回的Status code判断是否登录成功,因此在Java代码中是看不到登录认证的完整过程的,如下图所示如果返回为`200`则会生成合法`sessionBean` :

合法`sessionBean`生成过程如下,将`session`中填充`username` ,`userid` , `csrftoken`等关键信息:

因此我们只需要找到后台返回`200`的函数即可。

小结

通过漏洞还能够获取`admin`操作权限,因此可以向固件中添加恶意代码,然后通过上传固件的方式实现命令执行,或者通过修改配置等方式进入底层,方法有很多种不再详细分析。

通过分析复现CVE-2022-2073认证绕过漏洞,学习了一种新的认证绕过思路,通过不同语言对JSON或者其他格式的数据处理上的差异实现变量覆盖,完成漏洞利用。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容