漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-075852
漏洞标题:芒果云KODExlporer设计缺陷导致随意登陆后台
相关厂商:千帆网络工作室
漏洞作者: 狗狗侠
提交时间:2014-09-15 13:57
修复时间:2014-12-14 13:58
公开时间:2014-12-14 13:58
漏洞类型:非授权访问/权限绕过
危害等级:高
自评Rank:20
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-09-15: 细节已通知厂商并且等待厂商处理中
2014-09-15: 厂商已经确认,细节仅向厂商公开
2014-09-18: 细节向第三方安全合作伙伴开放
2014-11-09: 细节向核心白帽子及相关领域专家公开
2014-11-19: 细节向普通白帽子公开
2014-11-29: 细节向实习白帽子公开
2014-12-14: 细节向公众公开
简要描述:
详细说明:
前面兄弟当天提交当天都拿$ 了
WooYun: 芒果云KODExlporer设计缺陷任意代码执行(四)(官网演示已shell)
今晚我也下套代码研究起来。。。。
慢慢道来。。
在\controller\user.class.php中50行处
其中可以分析下其中逻辑,
当存在以下2个cookie($_COOKIE['kod_name'] $_COOKIE['kod_token'])变量执行下面语句
第二部:
$user = $member->get($_COOKIE['kod_name']);这里的kod_name的cookie是我们能控制的,当我们kod_name构造好不存在的情况,例如$_COOKIE['kod_name']='DDDDSFADSFAS$#@!#$'这样不存在的情况,其中$user就false了。
看后面的语句
if(md5($user['password'].get_client_ip()) == $_COOKIE['kod_token'])
这里验证是不是弱爆了?
前面控制好kod_name导致$user不存在。则整个整个条件判断就是我们可以控制的了
我们只要将get_client_ip() md5就行了。
我们看看get_client_ip()
这里也是可控的。。。顾思路就来了。直接登录后台
攻击步骤:
1、构造一个不存在的kod_name
2、第二部,自己查下自己的ip即可,或者伪造个client_ip即可。
例如我本地测试就是对127.0.0.1 MD5一次即可。。
修改kod_token的值
3、访问后台地址,即可登录后台了。随意上传文件,控制整个后台
漏洞证明:
攻击步骤:
1、构造一个不存在的kod_name
2、第二部,自己查下自己的ip即可,或者伪造个client_ip即可。
例如我本地测试就是对127.0.0.1 MD5一次即可。。
修改kod_token的值
3、访问后台地址,即可登录后台了。随意上传文件,控制整个后台
修复方案:
考虑下逻辑。。
版权声明:转载请注明来源 狗狗侠@乌云
漏洞回应
厂商回应:
危害等级:低
漏洞Rank:4
确认时间:2014-09-15 18:05
厂商回复:
感谢洞主提出。
此处确有不严谨之处,但几乎没有危害;以上所说的模拟登陆后能操控后台完全不可能。
因为即便构造登录成功,也做不了任何操作,所在空权限组没有任何权限。
之前被apache坑了。
期待 通过kod 获得shell,在此悬赏先。
(真的shell的话,麻烦给个自己上传的**.php文件的链接,谢过!)
最新状态:
暂无