漏洞简介
Python中处理图片的模块PIL(Pillow),因为其内部调用了GhostScript而受到GhostButt漏洞(CVE-2017-8291)的影响,造成远程命令执行漏洞。
漏洞复现
运行后,访问http://your-ip:8000/
即可看到一个上传页面。正常功能是上传一个PNG文件,后端调用PIL加载图片,输出长宽。但我们可以将可执行命令EPS文件后缀改成PNG进行上传,因为后端是根据文件头来判断图片类型,所以无视后缀检查。
我们用poc.png来上传,即可执行touch /tmp/aaaaa
。