Actualmente estoy en un pentest y me he encontrado con un parámetro de URL que es vulnerable a la inyección de Expression Language (EL) y puedo demostrarlo al acceder a propiedades como $ {pageContext}.
Sin embargo, parece que tengo acceso a las propiedades del objeto Java pero no puedo llamar a los métodos. Sé que la gente ha podido hacer esto, pero parece que cada vez que inserto paréntesis, la aplicación impide la ejecución de Java.
¿Hay algo que obviamente me esté faltando o alguna idea sobre cómo superar este problema?
Muestra de cargas útiles que he probado:
${pageContext.servletContext.serverInfo} - Works
${requestScope[%27javax.servlet.forward.servlet_path%27]} - Works
${param.foo} - Works
${param.foo.toUpper()} - Fails