作者:疯子晨晨农_481 | 来源:互联网 | 2023-02-01 10:23
本文主要介绍关于web安全,文件上传,编辑器上传,CMS文件上传的知识点,对【【文件上传漏洞-08】常见编辑器上传以及常见的CMS上传漏洞】和【文件上传漏洞解决方案】有兴趣的朋友可以看下由【像风一样
本文主要介绍关于web安全,文件上传,编辑器上传,CMS文件上传的知识点,对【【文件上传漏洞-08】常见编辑器上传以及常见的CMS 上传漏洞】和【文件上传漏洞解决方案】有兴趣的朋友可以看下由【像风一样9】投稿的技术文章,希望该技术和经验能帮到你解决你所遇的# 入门07 Web安全之渗透测试相关技术问题。
文件上传漏洞解决方案
目录 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)进入后台:
文件上传→文件另存并重命名→访问
①上传大马。点击荣誉管理—添加企业荣誉—上传大马
②绕过上传。发现有限制,抓个包看看,把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,修改其中的时区
(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!";
foreach($_GET as $key=>$val){
$$key=$val;
}
var_dump($name);
通过变量覆盖漏洞,可以修改Web 应用的参数。
参考文章
[1] 《【CyberSecurityLearning 61】文件上传》
本文《【文件上传漏洞-08】常见编辑器上传以及常见的CMS 上传漏洞》版权归像风一样9所有,引用【文件上传漏洞-08】常见编辑器上传以及常见的CMS 上传漏洞需遵循CC 4.0 BY-SA版权协议。