前言
本文中主要集中在hutool这一常用组件中,在动态代理以及JDBC attack这两个角度在利用过程中可能存在的一部分链子
动态代理
hutool介绍页面中涉及了hutool对JDK动态代理的封装支持
https://github.com/dromara/hutool
查看在组件hutool下的InvocationHandler
实现
其中存在有四个类对其进行了实现,具体如下:
分别查看这四个类的invoke
方法实现,存在有以下利用的可能
JdkInterceptor
在其invoke方法的实现中,其能够反射调用代理类的对应方法,这个类和在spring-aop
中的一个比较常用的代理类JdkDynamicAopProxy
的作用相同,均能够反射调用代理对象的方法,下图为JdkDynamicAopProxy#invoke
的实现
-
这类代理类在JSON1链中也存在身影
-
同样在https://mp.weixin.qq.com/s/gl8lCAZq-8lMsMZ3_uWL2Q文中绕过高版本的getter触发问题是,也采用了代理类的方式进行绕过,类似的,这里我们也可以利用
JdkInterceptor
类进行绕过
可将其换成JdkInterceptor类 -
还有就是在处理jackson getter触发不稳定是,通过代理目标对象进行更稳定的getter触发
同样可以替换成JdkInterceptor类进行处理 -
等等类似上面的场景,需要代理一个类进行类方法执行都可以使用
JdkInterceptor
作为一部分进行利用
JDBC
其同样存在有数据库相关支持,全局搜索getDataSource
调用
在hutool组件中存在有15个类存在getDataSource
方法的实现
4A评测 - 免责申明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。
本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!
程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。
侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)