漏洞概要
关注数(24)
关注此漏洞
漏洞标题:CSCMS V3.5 最新版 后台命令执行GETSHELL(源码详析)
提交时间:2013-12-26 15:09
修复时间:2014-03-26 15:10
公开时间:2014-03-26 15:10
漏洞类型:命令执行
危害等级:高
自评Rank:12
漏洞状态:厂商已经确认
Tags标签:
无
漏洞详情
披露状态:
2013-12-26: 细节已通知厂商并且等待厂商处理中
2013-12-26: 厂商已经确认,细节仅向厂商公开
2014-02-19: 细节向核心白帽子及相关领域专家公开
2014-03-01: 细节向普通白帽子公开
2014-03-11: 细节向实习白帽子公开
2014-03-26: 厂商提前公开漏洞,细节向公众公开
简要描述:
CSCMS V3.5 最新版 后台PHP命令执行GETSHELL(源码详析)
CSCMS的全新架构加强了安全性,以往的一串漏洞均已修复,
读代码,发现还有新的漏洞
代码分析见详细说明,测试演示在漏洞证明里
详细说明:
漏洞位置为后台的 网站设置-第三方登录设置 中
有关代码如下:
/app/controllers/admin/setting.php line:426
/csdj/lib/Cs_Denglu.php
正常的状态,之后会用到
回头考虑xss_clean
这是CI框架的XSS过滤函数
具体的解析见官方文档,OK?
作用是去HTML标签,并且!!!让php标签safe!!!
意思就是不去php标签,这也是之后写php一句话马的基础
抓包
把1修改为:
提示:那段base64原文是<?php @eval($_POST[lxj616])?>
请复制全code里面的所有内容,最后那个注释符号也要复制的
提交
查看刚才的/csdj/lib/Cs_Denglu.php
写木马的语句已经有了,由于之前提示“修改成功”后会自动返回之前的页面,又会加载这个php设置文件,因此这个语句应该已经执行完毕了
多出的test.php即为木马文件
漏洞证明:
修复方案:
/app/controllers/admin/setting.php line:435
加上双引号保护,之后均以string方式处理,或者在intval回整数
不仅要防SQL注入,更要防PHP代码注入!!!
漏洞回应
厂商回应:
危害等级:低
漏洞Rank:1
确认时间:2013-12-26 17:53
厂商回复:
谢谢
最新状态:
2013-12-29:已经修复!
漏洞评价:
评论
-
2014-01-14 14:49 |
Rookie ( 普通白帽子 | Rank:288 漏洞数:78 | 123)
-
2014-05-19 15:55 |
kwokwing ( 路人 | Rank:12 漏洞数:5 | haha2me)