漏洞概要
关注数(24)
关注此漏洞
漏洞标题:骑士CMS最新版任意用户登陆
提交时间:2015-08-03 16:19
修复时间:2015-11-02 09:38
公开时间:2015-11-02 09:38
漏洞类型:SQL注射漏洞
危害等级:高
自评Rank:20
漏洞状态:厂商已经修复
Tags标签:
无
漏洞详情
披露状态:
2015-08-03: 细节已通知厂商并且等待厂商处理中
2015-08-04: 厂商已经确认,细节仅向厂商公开
2015-09-28: 细节向核心白帽子及相关领域专家公开
2015-10-08: 细节向普通白帽子公开
2015-10-18: 细节向实习白帽子公开
2015-11-02: 厂商已经修复漏洞并主动公开,细节向公众公开
简要描述:
骑士CMS最新版任意用户登陆(官网demo测试)。
详细说明:
骑士CMS最新版去掉了全局addslash
导致在旧版PHP GPC off或和PHP5.x上参数直接带入SQL语句,虽然include/help.class.php添加了新的过滤函数,但是对正常拼接出来的SQL语句无效。这样在GET,POST, COOKIE中均可带入',导致各种越权。
本例以任意帐号登陆来演示。
user/user_favorites_job.php会调用check_cookie()来检查COOKIE登陆,
check_cookie拼接SQL使用了没有过滤的COOKIE值,这样我们只要设置COOKIE为:
访问http://demo.74cms.com/user/user_favorites_job.php即可登陆uid为1的帐号。
未登陆状态访问http://demo.74cms.com/,F12打开chrome的开发工具,进入控制台输入:
访问http://demo.74cms.com/user/user_favorites_job.php即可看到登陆成功。
退出,然后使用uid=2登陆:
访问http://demo.74cms.com/user/user_favorites_job.php即可看到登陆成功。
漏洞证明:
修复方案:
全局的addslashes_deep改回来把,光靠check sql来检查SQL注入不太现实。
版权声明:转载请注明来源 路人甲@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:20
确认时间:2015-08-04 09:37
厂商回复:
感谢反馈!
最新状态:
2015-08-04:已经还原全局过滤