2019年中职组“网络空间安全”赛项(竞赛任务书--A)第4题复现方法
1. 漏洞原理
Tomcat配置文件web.xml中,servlet配置了readonly=fasle时,会引发任意文件上传漏洞。
readonly参数默认是true,即不允许delete和put操作,所以通过XMLHttpRequest对象的put或者delete方法访问就会报告http 403错误。但很多时候为了支持REST服务,会设置该属性为false。
当存在漏洞的Tomcat运行在Windows/Linux主机上, 且启用了HTTP PUT请求方法( 例如, 将readonly初始化参数由默认值设置为false) , 攻击者将有可能可通过精心构造的攻击请求数据包向服务器上传包含任意代码的JSP的webshell文件,JSP文件中的恶意代码将能被服务器执行, 导致服务器上的数据泄露或获取服务器权限。
影响版本:Apache Tomcat 7.0.0 - 7.0.79
2. 环境搭建
1. 准备好操作系统环境cn_windows_7_ultimate_with_sp1_x86_dvd_u_677486.iso;
下载并安装Java虚拟机:jdk-7u79-windows-i586.exe;
下载并安装apache-tomcat-7.0.79.exe