漏洞概要 关注数(24) 关注此漏洞
缺陷编号:wooyun-2014-061443
漏洞标题:PHPCMS 组合技进行CSRF攻击
相关厂商:phpcms
漏洞作者: phith0n
提交时间:2014-05-20 15:05
修复时间:2014-08-18 15:06
公开时间:2014-08-18 15:06
漏洞类型:CSRF
危害等级:中
自评Rank:10
漏洞状态:厂商已经确认
漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]
Tags标签: 无
漏洞详情
披露状态:
2014-05-20: 细节已通知厂商并且等待厂商处理中
2014-05-21: 厂商已经确认,细节仅向厂商公开
2014-05-24: 细节向第三方安全合作伙伴开放
2014-07-15: 细节向核心白帽子及相关领域专家公开
2014-07-25: 细节向普通白帽子公开
2014-08-04: 细节向实习白帽子公开
2014-08-18: 细节向公众公开
简要描述:
众所周知phpcms登录后台后,有一个pc_hash作为防范CSRF的TOKEN,且看我怎么利用一个组合技来进行CSRF攻击的。
详细说明:
phpcms安装好后默认允许申请友情链接。而且友情链接分两种:文字链接和图片链接。
其中图片链接,管理员在审核的时候,图片会直接显示后台。而后台url中是包含这个pc_hash的,我们就能在图片的referer里找到这个pc_hash~~岂不妙哉?
利用方法见漏洞证明。
漏洞证明:
首先我在本地简单写了一个获得referer的脚本:
然后把这个脚本作为图片地址,申请友链:
管理员在后台访问“友情链接”功能的时候,我已经窃取了其pc_hash:
实战中,我们还可以把这个做的像一点。比如用php输出一张真正的logo,这样不但获得了pc_hash,而且还像一个真的申请友链的请求。
这时我本地已经获得了referer了:
那么,获得了pc_hash可以干什么?当然是CSRF了,举个简单的例子。
我可以构造如下链接:
作为图片欺骗管理员浏览,就能把id=4的友情链接审核通过。也就是我刚才申请的那个友链。
再来一个厉害的。
把pc_hash修改为你获得的pc_hash,然后将以上代码放在任何html页面中(不限域名),诱使管理员访问,即可为目标站点增加一个用户名为test,密码为123123的超级管理员账户:
修复方案:
没啥好建议。别把pc_hash放在url中。
版权声明:转载请注明来源 phith0n@乌云
漏洞回应
厂商回应:
危害等级:中
漏洞Rank:8
确认时间:2014-05-21 15:55
厂商回复:
感谢反馈。
最新状态:
暂无