漏洞概要 关注数(7) 关注此漏洞
缺陷编号: WooYun-2014-68218
漏洞标题: 74cms (20140709) 最新版二次注入一弹
相关厂商: 74cms.com
漏洞作者: ′雨。
提交时间: 2014-07-16 11:23
公开时间: 2014-10-14 11:24
漏洞类型: SQL注射漏洞
危害等级: 高
自评Rank: 20
漏洞状态: 厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 help@wooyun.org
Tags标签: 无
漏洞详情
披露状态:
2014-07-16: 细节已通知厂商并且等待厂商处理中
2014-07-16: 厂商已经确认,细节仅向厂商公开
2014-07-19: 细节向第三方安全合作伙伴开放(绿盟科技、唐朝安全巡航、无声信息)
2014-09-09: 细节向核心白帽子及相关领域专家公开
2014-09-19: 细节向普通白帽子公开
2014-09-29: 细节向实习白帽子公开
2014-10-14: 细节向公众公开
简要描述:
74cms V3.4.20140709
不好好的修改漏洞代码 而是修改过滤函数。
虽然那过滤代码我绕不过去。。 但是还是找到了处能出数据。
在修改过滤函数的基础上,还是好好的修改代码把。
详细说明:
首先来看看过滤函数
相对于之前的
首先看到增加了一些防sql的关键字。 然后就是之前把关键字replace空
现在是replace ****了。 而且开启了i模式。。。
这个我绕不过去了。 找找有没有什么地方能直接出数据把。
__________________________________________________________________
74cms在注册的时候不能含有特殊字符
而在plus/ajax_user.php中却可以。。
这里没有对用户名验证, 直接注册了。
因为有了过滤函数 要直接出数据 就像下面这样注册一个如下的用户名
可以看到报错了 这个暂时别管他 利用报错注入不能出数据。
所以找找哪里能直接出数据的。
在user/user_pms.php中
$setsqlarr['msgtoname']=$msgtouser['username'];
这里直接把出库的用户名带入到了insert当中 而且这里是对其他用户发消息。
首先再注册一个用户 对这个用户名hex一次。 我这里是对xiaoyu hex了一次。
然后发消息。
再登录刚才注册的那个号
拿到数据。
漏洞证明:
如上。
修复方案:
在这里对用户名做个验证把、
版权声明:转载请注明来源 ′雨。@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:20
确认时间:2014-07-16 15:44
厂商回复:
感谢反馈!
最新状态:
暂无
漏洞评价:
对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值