• 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编号漏洞进行利用。

  • 相关阅读:
    wxPython 之 wxAuiManage实现停靠(悬停)子窗口
    Ubuntu虚拟机部署OpenStack
    期货开户保证金是一把双刃剑
    第六章《类的高级特性》第1节:static关键字的使用
    实战经验分享FastAPI 是什么
    数据新增的常用方法(es6-es12)-今天一定要学会
    【C语言】操作符与优先级详解
    【小程序】HbuilderX搭建开发环境
    docker 在容器外执行某个容器内的某个命令
    反序列化漏洞复现(typecho)
  • 原文地址:https://blog.csdn.net/hesysd/article/details/127986083