漏洞概要
关注数(24)
关注此漏洞
漏洞标题:Mao10cms最新版前台注入2枚打包
提交时间:2015-07-06 12:29
修复时间:2015-10-08 20:32
公开时间:2015-10-08 20:32
漏洞类型:SQL注射漏洞
危害等级:高
自评Rank:15
漏洞状态:厂商已经确认
Tags标签:
无
漏洞详情
披露状态:
2015-07-06: 细节已通知厂商并且等待厂商处理中
2015-07-10: 厂商已经确认,细节仅向厂商公开
2015-07-13: 细节向第三方安全合作伙伴开放
2015-09-03: 细节向核心白帽子及相关领域专家公开
2015-09-13: 细节向普通白帽子公开
2015-09-23: 细节向实习白帽子公开
2015-10-08: 细节向公众公开
简要描述:
Mao10cms最新版前台注入2枚打包,可出任意数据
详细说明:
Mao10cms用户量不小,2015-06-25更新的V3.5.2,今天来学习一下吧
两个注入点,分别存在在于application/common/common/function.php/mc_title()方法和application/common/common/function.php/mc_seo()中。注入产生的原因都是id没有过滤,这两个注入点前台可直接注入出数据。这里以application/common/common/function.php/mc_title()为例进行说明。
存在注入的文件在application/common/common/function.php中
我们来看看代码
看上面代码中看到$display_name = mc_user_display_name($_GET['id']);去看看mc_user_display_name()
从上面的代码中可以看到,如果由$page_id查不到用户名,如果$page_id提交有’,肯定查不到,就执行mc_get_meta(),再去看看吧
到这里可以看到了,从$_GET[‘id’]一直到$page_id,再带入sql语句执行,没有过滤,因此,这里存在注入。
下面以time-based blind注入进行证明
Payload(get提交):
当猜测错误时,如下图
当猜测正确时,如下图
整个注入过程可以使用burpsuite 或者sqlmap 再或者自己写个脚本来跑,在本地进行测试,用户名为admin,密码为f6fdffe48c908deb0f4c3bd36c032e72
漏洞证明:
修复方案:
版权声明:转载请注明来源 路人甲@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:15
确认时间:2015-07-10 20:31
厂商回复:
感谢指出
最新状态:
暂无