漏洞概要
关注数(2)
关注此漏洞
漏洞标题: Tipask 2.0 加密函数破解导致任意用户密码修改
提交时间: 2013-06-24 16:29
公开时间: 2013-09-22 16:30
漏洞类型: 设计缺陷/逻辑错误
危害等级: 高
自评Rank: 20
漏洞状态:
未联系到厂商或者厂商积极忽略
漏洞详情
披露状态:
2013-06-24: 积极联系厂商并且等待厂商认领中,细节不对外公开
2013-09-22: 厂商已经主动忽略漏洞,细节向公众公开
简要描述:
Tipask问答系统是一款开放源码的PHP仿百度知道程序。以国人的使用习惯为设计理念,采用MVC构架,系统具有速度快,SEO友好,界面操作简洁明快等特点。
但是Tipask中使用的加密算法存在被破解的可能性,因此将导致包括任意用户密码修改等漏洞的发生。
详细说明:
在核心加密算法strcode函数中:
可以看到加密的算法是异或,所以可以用密文和明文异或的方法反过来求出密钥key,如下:
key长度为18,因此我们要找一个明文长度超过18而被加密的字串,经过检查,发现cookie中的auth值长度超过了18,因此将针对cookie中的auth进行key猜解。
漏洞证明:
在Tipask的密码重置中,生成密码重置链接的关键字串是由strcode产生,因此可以利用破解后的key来达到任意密码修改功能。
首先申请重置目标用户的密码
利用自己的注册用户的cookie解密key:
当前登录用户cookie中的auth为VjEFWAFbAwtXBlUDV1ZVCAEAUFkDBQFcVFcCUggCAlNVWg%3D%3D
然后进行解密:
获得key为d82ab802de152bf9bb
然后输入想要重置的用户:
获得了重置密码的链接。
修复方案:
版权声明:转载请注明来源 猪头子@乌云
漏洞回应
漏洞评价:
对本漏洞信息进行评价,以更好的反馈信息的价值,包括信息客观性,内容是否完整以及是否具备学习价值
漏洞评价(共0人评价):
评价