【文件上传漏洞-08】常见编辑器上传以及常见的CMS 上传漏洞

目录

  • 1 常见的编辑器上传
  • 2 常见的CMS 上传
    • 2.1 南方数据管理系统(数据库备份拿webshell)(old)
    • 2.2 metinfov5.0.4 文件上传---代码审计
  • 参考文章

1 常见的编辑器上传

编辑器就是网站后台编辑网页的在线编辑器,会自动集成文件上传功能,这些编辑器的某些版本也存在文件上传漏洞,从而进行getshell

(1)ewebeditor(比较古老的编辑器)

(2)fckeditor

利用小马拉大马也是一个惯用伎俩!

2 常见的CMS 上传

CMS 又叫网站内容管理系统(网站的模版,帮助我们快速建站,我们会在这个网站模板上做二次开发),市面上很多开源的CMS 的历史版本有很多都存在着文件上传漏洞,但是产生文件上传漏洞的原因不尽相同,情景也不似本章上文中介绍的那样“直白”。类似的CMS 有很多,比如常见的dedeCMS(织梦)、PHPcms、Seacms 等。
————————————————————————————————————————————

YXcms

  • 下载地址:https://pan.baidu.com/s/1xd8MdGwqZqErtvu0QO5d5A
  • 提取码:xbb5
  • 参考文章:《靶场笔记-----YXcms靶场》

————————————————————————————————————————————

2.1 南方数据管理系统(数据库备份拿webshell)(old)

学渗透如果不知道南方数据管理系统的文件上传就跟没学过一样,太经典了!

这是一个asp网站,这个网站把它搭建到win2003里面,尤其要注意权限的问题。
南方数据库管理系统实际上进行文件上传的核心是利用数据库备份getshell,由于它是asp的网站,所以他的数据库是ACCESS,ACCESS数据库实际上就是网站目录下的.mdb文件.只要是.mdb文件就可以下载(可以配置IIS防下载)。利用数据库备份实际上是另存文件,另存意味着可以自定义文件的名字(即意味着可以对上传的图片木马重新命名)

南方数据管理系统实例的操作步骤如下:

(1)搭建网站过程省略(端口8004),搭建的时候注意启用父路径。

  • win2003的ip:192.168.3.114
  • 物理机访问192.168.3.114:8004

(2)南方数据管理系统是后台getshell,这里我们就要进入后台。进入后台有几种方式?获取后台账密。南方数据管理系统是有注入点的。

  • 两个注入点分别如下:
[/news_search.asp?key=7%' union select 0,username%2BCHR(124)%2Bpassword,2,3,4,5,6,7,8,9 from admin where 1 or '%'='&;otype=title&;Submit=%CB%D1%CB%F7]
[/NewsType.asp?SmallClass='%20union%20select%200,username%2BCHR(124)%2Bpassword,2,3,4,5,6,7,8,9%20from%20admin%20union%20selecct%20*%20from%20news%20where%201=2%20and%20''=']
  • 后台登陆帐号:admin 密码:0791idc

(3)发现网站后台。

  • 御剑扫一下后台

(4)进入后台:
【文件上传漏洞-08】常见编辑器上传以及常见的CMS 上传漏洞_第1张图片

  • 文件上传→文件另存并重命名→访问
    ①上传大马。点击荣誉管理—添加企业荣誉—上传大马
    ②绕过上传。发现有限制,抓个包看看,把filename中的black.php改成.jpg发现上传成功。可以看到文件的路径: UploadFiles/2393209844.jpg
    ③点击系统管理—数据库备份。利用数据库备份将刚刚上传的文件另存并重命名为shell.asp。
    ④访问shell.asp。输入网址:192.168.3.114:8004/nanfangshujuv9/admin/Databackup/shell.asp

修复建议

  • 不允许修改数据库路径名(即需要备份的数据库的路径)

  • 强过滤,
    ①只允许对.mdb文件进行备份
    ②备份后的文件,只允许定义文件名称,不允许定义文件后缀名

  • 对备份数据最限制
    ①Databackup目录不给执行权限;
    ②站库分离,即备份后的数据放在另一台服务器上
    ③备份后的数据放在非网站根目录下

2.2 metinfov5.0.4 文件上传—代码审计

源码包下载:5.0.4不通过,我们这里用5.1.4:MetInfo 历史版本与升级包下载:https://zhuanlan.zhihu.com/p/45722772

简介:这也是一个开源的cms,非常经典,比较老。又有文件注入、SQL注入、文件包含;其中文件注入和文件包含这两个漏洞都源于变量覆盖

metinfov5.0.4文件上传漏洞实例操作步骤
(1)搭建到win2008,将metinfov5.1.4复制到phpstudy的根目录

  • win2008的ip:192.168.3.118
  • 疯狂下一步,注意,其中数据库名不能有符号点.
  • 出现报错:解决方法,打开php的配置文件—php.ini,修改其中的时区
    【文件上传漏洞-08】常见编辑器上传以及常见的CMS 上传漏洞_第2张图片
    【文件上传漏洞-08】常见编辑器上传以及常见的CMS 上传漏洞_第3张图片

(2)物理机访问

存在文件上传漏洞的文件在:D:\phpStudy\WWW\MetInfo5.1.4\admin\include\uploadify.php。我们做这个文件进行代码审计

我们来学一种语言结构foreach

foreach($mettables as $key=>$val){
    $tablename='met_'.$val;    
    $$tablename=$tablepre.$val;
}

代码解析

  • foreach($mettables as $key=>$val)foreach为遍历数组,as为键值对,$key为数组的键,$val为数组的键值;

变量覆盖漏洞:重点是有foreach以及双$

$name="HELLOWORD!";

//?name=AJEST  网址所传

foreach($_GET as $key=>$val){

    $$key=$val;//$name=AJEST;

}

var_dump($name);

通过变量覆盖漏洞,可以修改Web 应用的参数。

参考文章

[1] 《【CyberSecurityLearning 61】文件上传》

你可能感兴趣的:(#,入门07,Web安全之渗透测试,web安全,文件上传,编辑器上传,CMS文件上传)