8月22号spring爆了一个xml外部注入漏洞(CVE-2013-4152),漏洞链接: http://www.nsfocus.net/vulndb/24471
这个其实是一个比较老的xml注入漏洞,不仅仅是 java, php和python等一些语言的xml解析库都受影响。
简单描述就是:如果应用有这样的功能 —— 程序从外部获取用户控制的xml,并且解析这些xml,由于xml中可以定义对外部资源的引用,用户可以在xml中定义对系统重要文件的应用,这就有可能导致系统敏感文件内容的泄露。
其中的一个poc:
Spring的@Requestbody 注解就有可能产生这种问题。比如这么写一个controller:
@Controller
publicclassHomeController {
@RequestMapping(value="/home",method= RequestMethod.POST,consumes = "application/xml")
publicModelAndView home(@RequestBody User user) {
// System.out.println(user);
returnnewModelAndView("home", "message",user.getUserName());
}
}
User是一个javabean:
import javax.xml.bind.annotation.XmlElement;
importjavax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "user")
publicclass User{
privateString userID;
privateString userName;
@XmlElement
publicString getUserID() {
returnuserID;
}
publicvoidsetUserID(String userID) {
this.userID =userID;
}
@XmlElement
publicString getUserName() {
returnuserName;
}
publicvoidsetUserName(String userName) {
this.userName =userName;
}
}
ser是从@RequestBody直接转换过来,@RequestBody可以将http request 正文中的 xml,json 等直接转换成spring 内部对象,比如以上代码就是直接将post请求中的xml转换成user对象。
当用curl post提交以下请求时,便可以直接读取本地系统文件的内容(c:\\windows\\win.ini)。如下图:
修复方式:
升级spring
- 大小: 20.4 KB
分享到:
相关推荐
23.CVE-2013-1504 24.CVE-2013-2390 25.CVE-2017-3506 26.CVE-2017-1181 27.CVE-2016-3445 28.CVE-2016-3510 29.CVE-2016-3586 30.CVE-2016-5531 31.CVE-2015-7501 32.CVE-2016-5488 33.CVE-2016-3505 34.CVE-2016-...
CVE-2011-0816, CVE-2011-0831, CVE-2011-0832, CVE-2011-0835, CVE-2011-0838, CVE-2011-0848, CVE-2011-0870, CVE-2011-0876, CVE-2011-0879, CVE-2011-0880, CVE-2011-2230, CVE-2011-2231, CVE-2011...
CVE-2022-33891POC Apache Spark 命令注入(CVE-2022-33891)POC CVE-2022-33891 影响版本 Apache spark version 3.1.1版本 Apache Spark version>= 3.3.0 修复方案 1.建议升级到安全版本,参考官网链接: ...
通过升级openssh到OpenSSH8.4 修复openssh低版本的漏洞 openssh8.4需要的 openssl-1.1.1g, openssh-8.4p1,zlib-1.2.11
CVE-2013-6117 $ ./CVE-2013-6117 -hOptions: -h, --help display help information -f, --filename File containing list of IP addresses -t, --target Target IP -n, --threads No of concurrent threads ...
利用CVE-2013-2251漏洞获取服务器的webshell,从而黑入服务器
Jackson官方github仓库发布安全issue,涉及漏洞CVE-2019-14361和CVE-2019-14439,均是针对CVE-2019-12384漏洞的绕过利用方式,当用户提交一个精心构造的恶意JSON数据到WEB服务器端时,可导致远程任意代码执行。...
Apache Spark 命令注入(CVE-2022-33891)漏洞复现 CVE-2022-33891POC Apache Spark 命令注入(CVE-2022-33891)POC CVE-2022-33891 影响版本 Apache spark version 3.1.1版本 Apache Spark version>= 3.3.0 修复...
window下ssl证书制作生成工具,用于弱哈希算法签名的SSL证书升级成sha256算法签名证书,关于漏洞CVE-2004-2761
OpenSSH 命令注入漏洞(CVE-2020-15778),文件包含installs.sh、openssh-8.6p1.tar.gz、openssl-1.1.1k.tar.gz、zlib-1.2.11.tar.gz。升级时候将openssh.tar.gz放至/home下解压,进入openssh目录,执行chmod +x ...
Nginx在反向代理站点的时候,通常会将一些文件进行缓存,特别是静态文件。... 如果我的请求中包含Range头,Nginx将会根据我指定的start和end位置,返回指定长度的内容。而如果我构造了两个负的位置,如(-600, -...
OpenSSH 资源管理错误漏洞(CVE-2021-28041)
Androidroot源码利用CVE-2013-6282漏洞.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
解决 SSL/TLS协议信息泄露漏洞(CVE-2016-2183) ps1 文件
SpringCloud Function SpEL注入漏洞分析(CVE-2022-22963).doc
CMS Made Simple (CMSMS) 前台SQL注入漏洞 CVE-2019-9053.md
WebLogic(CVE-2018-2893)安全漏洞预警,oracle官方发布了2018年4月份的关键补丁更新CPU(CriticalPatchUpdate),其中包含一个高危的Weblogic反序列化漏洞(CVE-2018-2628),因该漏洞修补不善导致被绕过。...