curl支持ipv6

后端 (53) 2023-11-03 17:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说curl支持ipv6,希望能够帮助你!!!。

今日Curl官方博客宣布,Curl最新版本7.66发布,经过大量的开发奋战,新版本增加了HTTP/3的支持,另外本地更新还解决了两个悬赏安全问题(共计450美刀)。关于Curl的介绍的详细使用,可以参虫虫的技术文章《利用curl 突破服务器限制,进行安全渗透测试》系列文章。

curl支持ipv6_https://bianchenghao6.com/blog_后端_第1张

版本信息图

本次版本开发的各种版本数据信息详见下图:

curl支持ipv6_https://bianchenghao6.com/blog_后端_第2张

两个安全漏洞

TFTP小块大小堆缓冲区溢出漏洞(CVE-2019-5482)

如果使用curl小于默认的"块大小"(默认值为512)数据包的TFTP传输,可能会导致curl用于协议交换的堆缓冲区溢出。curlbug赏金计划奖励该漏洞250美元。

FTP-KRB double-free漏洞(CVE-2019-5481)

如果在curl中使用基于kerberos 认证的FTP传输(CURLOPT_KRBLEVEL选项),并且服务器恶意或错误地响应了一个过大的加密块,会使curl的随后的realloc()的调用失败,这样会导致curl出现异常触发double-free漏洞。

该漏洞获得curl bug赏金中计划奖励200美元。

curl支持ipv6_https://bianchenghao6.com/blog_后端_第3张

主要功能

7.66.0中带来的主要功能有:

HTTP/3

目前已经可以支持http 3协议,但是还处于实验功能,默认情况下未启动。可以—http3手动配置启用该功能。该选项通知curl使用HTTP 3进行通讯。正常的HTT/3服务器执行并通过Alt-SVc重定向。如果无法建立QUIC连接会导致curl失败,不会自动回退尝试低版本HTTP连接。

curl支持ipv6_https://bianchenghao6.com/blog_后端_第4张

并发传输

新版本增加并行传输工具,可以在命令行使用-Z 或者--parallel选项进行并行传输。这是一个非常重大的功能,可以极大地提高curl任务的效率。

为了避免在过多URL导致服务过载,或者curl耗尽Socket套接字,默认情况下限制curl的并发数量为50。可以使用 -parallel-max选项手动指定并发的数量。

Retry-after

有些服务器现在无法响应或无法响应时,会返回一个标准的HTTP头,该标头表示在几秒钟后或将来特定时间可以满足请求。新版本libcurl可以支持返回该数字,并可用于-retry选项中。

curl_multi_poll

curl_multi_poll是新增加的全新函数,其行为与curl_multi_wait非常相似,但是有一个主要好处:它解决了应用程序在libcurl在文件描述符耗尽的情况下,继续等待避免由此导致问题。

SASL认证

使用SASL身份验证时,curl和libcurl支持authzid字段。

Bug修复

此版本也修复了很多bug修复:

Windows上的.netrc和.curlrc

在新版本中curl和libcurl可以在Windows上也将检查并使用这些文件的前缀版本,如果没有后缀,就会回退并检查并使用兼容的下划线前缀版本。这样完成了curl在各个平台上的行为统一。

异步线程:创建一个套接字对来等待

Linux和其他Unix系统上的libcurl新版中将为应用程序提供文件描述符,以供应用程序在后台线程中解析名称时等待。这样可以使应用程序更好地了解何时再次调用libcurl,避免盲目地等待和重试以提高性能。

使用HTTP代理时URL凭证

修复了一个回归漏洞,在使用代理进行多阶段身份验证(例如HTTP Digest)时,curl无法正确使用URL凭据的bug。

默认禁用HTTP/0.9

如果希望libcurl接受并向应用程序传递HTTP/0.9的响应,则需要手动指定。从此版本开始,curl将默认清理无效的HTTP响应。

alt-svc改进

此前,curl引入了alt-svc支持,但是实验性的功能。使用alt-svc引入到HTTP/3时,发现并解决alt-svc一系列小问题,现在更稳定。但是,仍标记为实验性功能。

IPv6地址

URL解析器会接受格式错误的IPv6地址,该地址随后会在内部解析为主机名。比如诸如 "https://[ab.de]/"的URL,其中括号中的所有字母和符号都是IPv6数字地址的单独允许的组成部分,但该URL仍然不是有效的IPv6语法,而是一个合法有效的主机名。

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。