现在可用 新的更新版本d和“ cURL 7.71.0”,他们专注于解决两个严重的错误 允许访问密码以及覆盖文件的功能。 这就是为什么要发出更新到新版本的邀请。
对于那些不知道的人 这个工具, 他们应该知道 用于通过网络接收和发送数据, 通过设置cookie,user_agent,referer和任何其他标头等参数,可以灵活地形成请求。
卷曲 支持HTTP,HTTPS,HTTP / 2.0,HTTP / 3,SMTP,IMAP,POP3,Telnet,FTP,LDAP,RTSP,RTMP和其他网络协议。 同时,对libcurl库发布了并行更新,该库提供了一个API,可以使用C,Perl,PHP,Python等语言在程序中使用所有curl函数。
cURL 7.71.0中的主要更改
这个新版本是更新,如开始时所述,它解决了以下两个错误:
- 漏洞CVE-2020-8177-这允许攻击者在访问受控攻击服务器时覆盖系统上的本地文件。 仅当同时使用“ -J”(“-remote-header-name”)和“ -i”(“-head”)选项时,问题才会显现出来。
选择 “ -J”允许您使用指定的名称保存文件 在“ Content-Disposition”标题中。 小号我已经存在一个同名文件,程序 卷曲通常拒绝覆盖,但如果选择 “ -I”存在,违反了检查逻辑并被覆盖 文件(验证是在响应主体接收阶段完成的,但使用“ -i”选项,HTTP头会先输出,并有时间在处理响应主体之前保留)。 仅HTTP标头被写入文件。
- CVE-2020-8169漏洞: 这可能会导致DNS服务器中某些密码无法访问该站点(基本,摘要,NTLM等)。
在密码中使用“ @”字符(也用作URL中的密码定界符)时,当触发HTTP重定向时,curl将在“ @”字符后与域一起发送部分密码,以确定名称。
例如,如果您指定密码“ passw @ passw”和用户名“ user”,curl将生成URL“ https://用户:passw @ passw @ example.com / path”,而不是“ https:user:passw” %40passw@example.com/path并发送请求以解析主机” pasww@example.com而不是“ example.com”。
启用对HTTP重定向器的支持时,该问题就会显现出来 相对(通过CURLOPT_FOLLOWLOCATION禁用)。
在使用传统DNS的情况下, DNS提供者和攻击者可以找到有关部分密码的信息,它可以拦截传输网络流量(即使原始请求是通过HTTPS发出的,因为DNS流量未加密)。 在HTTPS(DoH)上使用DNS时,泄漏仅限于DoH语句。
最后,新版本中集成的另一个更改是添加了“ –retry-all-errors”选项,以便在发生错误时重复尝试执行操作。
如何在Linux上安装cURL?
对于那些有兴趣能够安装此新版本的cURL的人 他们可以通过下载源代码并进行编译来实现。
为此,我们要做的第一件事是在终端的帮助下下载最新的cURL软件包。 让我们输入:
wget https://curl.haxx.se/download/curl-7.71.0.tar.xz
然后,我们将使用以下命令解压缩下载的软件包:
tar -xzvf curl-7.71.0.tar.xz
我们使用以下命令输入新创建的文件夹:
cd curl-7.71.0
我们以root身份输入:
sudo su
然后输入以下内容:
./configure --prefix=/usr \ --disable-static \ --enable-threaded-resolver \ --with-ca-path=/etc/ssl/certs &&
make make install && rm -rf docs/examples/.deps &&
find docs \( -name Makefile\* -o -name \*.1 -o -name \*.3 \) -exec rm {} \; &&
install -v -d -m755 /usr/share/doc/curl-7.71.0 && cp -v -R docs/* /usr/share/doc/curl-7.71.0
最后,我们可以使用以下命令检查版本:
curl --version
如果您想了解更多信息,可以咨询 以下链接。