Administrator
发布于 2023-11-20 / 39 阅读 / 0 评论 / 0 点赞

ognl 方法如何获取classloader 的值及用法示例

ognl 方法如何获取classloader 的值及用法示例 如何获取classloader

image-20231108190407882

如何确认是红框的那个呢,可以随便找个项目中的类,使用

  • 方式一:sc 命令
sc -d com.zhumeng.springstudy.module.util.SpringContextUtil

结果如下

image-20231108190737161

从箭头所指的位置可以明确看出其classloader name,也就是ognl调用时用到的

  • 方式二:classloader -u

    classloader -u
    

    image-20231109112156431

ognl  --classLoaderClass  sun.misc.Launcher$AppClassLoader

而另个红框里的则是同等效果的hash参数

ognl -c 18b4aac2 '#context=@com.zhumeng.springstudy.module.util.SpringContextUtil@getApplicationContext(),#context.getBean("userServiceImpl").getUserInfoById(5)'

如何取到springboot的上下文ApplicationContext,并拿到对应的bean?

通过实现ApplicationContextAware接口来获取


评论