0


day33 文件上传&中间件解析漏洞&编辑器安全

前言

先判断中间件,是否有解析漏洞,字典扫描拿到上传点,或者会员中心,有可能存在文件上传的地方,而后测试绕过/验证,根据实际情况判断是白名单、黑名单还是内容其他的绕过,绕过/验证和中间件的解析漏洞也不行的话就看看CMS是否存在漏洞,然后看看编辑器漏洞有无以及其他漏洞如CVE漏洞。

知识汇总

1. 各个平台解析漏洞讲解

📎web中间件常见漏洞总结.pdf

2. IIS,Apache,Nginx

主流web服务器:Apache、IIS、Nginx

Apache

Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将Perl/Python等解释器编译到服务器中。Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其多平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。

IIS

IIS(Internet Information Services) 是一个支持HTTP和FTP发布服务的Web服务器。它是由微软开发的web服务器,需要收费,主要用来跑asp.net asp php,只能在windows下运行

Nginx

Nginx是lgor Sysoev为俄罗斯访问量第二的rambler.ru站点设计开发的。从2004年发布至今,凭借开源的力量,已经接近成熟与完善。

Nginx功能丰富,可作为HTTP服务器,也可作为反向代理服务器,邮件服务器。支持FastCGI、SSL、Virtual Host、URL Rewrite、Gzip等功能。并且支持很多第三方的模块扩展。

目前apache和nginx好像还没有看到像IIS一样的可视化配置。在windows和linux上,apache和nginx 都是以编辑配置文件的形式来配置。

3. 各个 WEB 编辑器安全讲解

网站后台里面有操作添加文字等类似功能的时候,有些网站会套用第三方的编辑器去对文章、图片、音频等进行相关处理。如果一个网站里面有编辑器的话,那么这个编辑器是什么类型,有没有漏洞,也会成为我们利用的条件

一些网站也可通过扫描获得编辑器信息,在其它地方不能突破时可以利用编辑器的漏洞进行getsell,可以在网上搜索相关编辑器漏洞利用即可。

大部分的编辑器漏洞都是文件上传漏洞

4. https://navisec.it/编辑器漏洞手册/

有的网站中可能嵌入第三方web编辑软件比如:fckeditor、ewebeditor、ckeditor、kineditor等。

一些网站也可通过扫描获得编辑器信息,在其它地方不能突破时可以利用编辑器的漏洞进行getsell,可以在网上搜索相关编辑器漏洞利用即可

涉及资源

https://navisec.it/编辑器漏洞手册/

https://www.jb51.net/softs/75619.html

📎web中间件常见漏洞总结.pdf

链接:百度网盘 请输入提取码 提取码:ywek

演示案例

中间件文件解析-IIS&Apache&Nginx

IIS 6.0- 7.0 文件名 目录名

1、文件名:x.asp;.x.jpg

2、目录名:x.asp/x.jpg

3、IIS7.X与Nginx解析漏洞一致

利用条件:

1.必须是这个版本的中间件

2.上传文件能不能修改上传目录或上传的文件名能增加命名

如果上传的文件名固定的或者目录无法创建,则无法利用。

文件上传的命名方式:

基于本地命名

基于时间命名

基于随机字符命名

Apache 配置安全--vulhub

.htaccess配置文件产生的Apache HTTPD换行解析漏洞(CVE-2017-15715)

《WEB中间件常见漏洞总结.pdf》中即可查看

Vulhub - Docker-Compose file for vulnerability environment

Apache 解析漏洞(未知后缀解析漏洞)

利用条件

文件名需要基于本地上传为准

原理:

在低版本的apache中,若文件后缀x.php.xxx.yyy,在服务器中若此文件.yyy后缀不被解析,则依次向前解析,成功为止。

利用场景:

如果服务器中间件apache为较低版本的话,我们利用文件上传,上传一个不被识别的文件后缀,利用解漏洞规则成功解析该文件,文件中的后门代码就会被触发。

简单演示:

准备两个后门文件,一个正常php后缀,一个php.xxx后缀

成功解析:

Apache 换行解析-vulhub (%0a截断,黑名单绕过)

Vulhub - Docker-Compose file for vulnerability environment

利用条件:

1.是这个中间件

2.黑名单验证(在黑名单的后缀不让上传 php jsp等)

php%0a绕过黑名单

白名单可能不行(在白名单里面才可以上传 比如jpg png gif等)

1.jpg.php%0a(没考虑最后一个点为后缀,这个白名单就可以)

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

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

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

Nginx 解析漏洞-vulhub

Vulhub - Docker-Compose file for vulnerability environment

Nginx 文件名逻辑-vulhub(CVE-2013-4547)

影响版本

Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7

漏洞原理

这个漏洞其实和代码执行没有太大关系,其主要原因是错误地解析了请求的URI,错误地获取到用户请求的文件名,导致出现权限绕过、代码执行的连带影响。

我们只需要上传一个空格结尾的文件,即可使PHP解析。

漏洞复现

启动靶场环境:

docker-compose up -d

启动后访问8080端口可看到一个上传界面

图片马

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

访问http://your-ip:8080/uploadfiles/webshell.gif / .php,即可发现PHP已被解析:

2. 几种常见 WEB 编辑器简要演示

(1)Fckeditor exp 利用

fckeditor的构件组成

但在实际情况下web编辑器是这样的

(2)ueditor 漏洞利用

UEditor .Net版本任意文件上传漏洞复现总结 - 知乎

4. 贴近实际应用下的以上知识点演示

当我们拿到一个网站可通过扫描或手动查找是否有文件上传的地方,比如会员中心等地方。

也可通过数据包或指纹识别是何种中间件,如是低版本可以利用一些解析漏洞上传文件,进行黑白名单绕过测试。

再者知道是何种CMS的话可以利用CMS的漏洞。

一些网站使用第三方的编辑器,可以寻找编辑器的漏洞进行突破。

再者也可以找一些CVE编号漏洞进行利用。


本文转载自: https://blog.csdn.net/hesysd/article/details/127986083
版权归原作者 匿名用户0x3c 所有, 如有侵权,请联系我们删除。

“day33 文件上传&中间件解析漏洞&编辑器安全”的评论:

还没有评论