Oracle MYSQL Server 安全漏洞(CVE-2022-32221)

发布时间 2023-04-20 10:48:35作者: Something_lzm

https://blog.csdn.net/weixin_45410876/article/details/124777690

https://blog.csdn.net/ljfrocky/article/details/113758188

升级系统的curl命令到最新版
前言

因为业务需要,服务器需要支持http2,但因为服务器的系统比较老(ubuntu 16.04),自带的curl并不支持http2协议,因此需要升级curl,下面记录下在升级过程中遇到的问题。

如何确认curl支不支持http2?

方法一,执行curl --http2 命令访问一个网址,如果提示Unsupported protocol,则代表不支持:

curl --http2 'https://www.google.com'

curl: (1) Unsupported protocol

1

2

方法二,执行curl --version命令,如果Features里没有HTTP2,则代表不支持:

curl --version

curl 7.35.0 (x86_64-pc-linux-gnu) libcurl/7.35.0 OpenSSL/1.0.1f zlib/1.2.8 libidn/1.28 librtmp/2.3

Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtmp rtsp smtp smtps telnet tftp

Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP

升级curl

安装http2相关依赖

sudo apt update

sudo apt-get install nghttp2 libnghttp2-dev libssl-dev

1

2

编译安装curl

wget https://curl.se/download/curl-7.75.0.tar.gz

tar -zxvf curl-7.75.0.tar.gz

cd curl-7.75.0/

./configure --with-nghttp2 --prefix=/usr/local --with-ssl

make && sudo make install

sudo ldconfig

上面步骤,我执行完configure命令后,界面的输出是这样的:

HTTP2处显示no,当时就觉得不对劲,但我没有理会,继续make && make install,安装完后,执行/usr/local/bin/curl --version命令,发现果然还是不支持http2。

因为安装的是最新版的curl,所以怀着 “有没有可能是curl版本太新,系统版本太旧导致不兼容” 的疑心,重新下载了个老一点的7.66.0版本编译安装,在configure阶段看起来好像没问题了,HTTP2处会显示enabled了:

(执行configure后的界面输出)

本来以为成功了,谁知执行/usr/local/bin/curl --version后,界面显示:

提示curl and libcurl versions do not match,Features里也没有显示HTTP2

观察上方的curl版本和libcurl版本号,libcurl的版本(7.75.0)和curl的版本(7.66.0)不一致,所以提示了这个错误信息。

libcurl 7.75.0应该是刚才第一次安装curl时留下的,因为第一次安装的curl版本号也是7.75.0,那有没有方法把libcurl的版本切换到7.66.0呢?

因为新版的curl是安装到/usr/local目录的,于是到/usr/local/lib目录下瞧瞧,发现有两个libcurl.so.4.x.0

还有个libcurl.so.4是软链接到libcurl.so.4.7.0的,根据文件的上一次更新时间观测,libcurl.so.4.7.0是安装curl 7.75.0时创建的,而libcurl.so.4.6.0是安装curl 7.66.0时创建的,猜测是不是只要把libcurl.so.4的软链接改为libcurl.so.4.6.0,就可以解决问题了呢?

于是改了软链接,再次执行/usr/local/bin/curl --version,错误提示果然没有了,Features里也有HTTP2了:

访问谷歌也不会报Unsupported protocol了

完)

————————————————

版权声明:本文为CSDN博主「自由de单车」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/ljfrocky/article/details/113758188

最后软连接指向方式: ln -s /usr/local/bin/curl /usr/bin/curl