지금 사용 가능 새로운 업데이트 버전 d두 가지 심각한 버그를 해결하는 데 초점을 맞춘 "cURL 7.71.0" 액세스 암호와 파일 덮어 쓰기 권한을 허용합니다. 이것이 새 버전으로 업그레이드하라는 초대가 이루어진 이유입니다.
모르는 사람들을 위해 이 유틸리티, 그들은 알아야한다 네트워크를 통해 데이터를주고받으며, 쿠키, user_agent, referer 및 기타 헤더와 같은 매개 변수를 설정하여 유연하게 요청을 구성 할 수있는 기능을 제공합니다.
컬 HTTP, HTTPS, HTTP / 2.0, HTTP / 3, SMTP, IMAP, POP3, Telnet, FTP, LDAP, RTSP, RTMP 및 기타 네트워크 프로토콜을 지원합니다. 동시에 C, Perl, PHP, Python과 같은 언어로 프로그램에서 모든 curl 기능을 사용할 수있는 API를 제공하는 libcurl 라이브러리에 대한 병렬 업데이트가 릴리스되었습니다.
cURL 7.71.0의 주요 변경 사항
이 새 버전은 업데이트이며 처음에 언급했듯이 다음과 같은 두 가지 버그를 해결합니다.
- 취약성 CVE-2020-8177-공격자가 통제 된 공격 서버에 접근 할 때 시스템의 로컬 파일을 덮어 쓸 수 있습니다. 이 문제는 "-J"( "– remote-header-name") 및 "-i"( "– head") 옵션이 동시에 사용되는 경우에만 나타납니다.
선택 "-J"를 사용하면 지정된 이름으로 파일을 저장할 수 있습니다. "Content-Disposition"헤더에 있습니다. 에스이미 같은 이름의 파일이 있습니다, 프로그램 curl은 일반적으로 덮어 쓰기를 거부합니다.이지만 옵션이 "-I"가 있고 논리를 위반하고 덮어 씁니다. 파일 (확인은 응답 본문 수신 단계에서 수행되지만 "-i"옵션을 사용하면 HTTP 헤더가 먼저 나가고 응답 본문을 처리하기 전에 지속될 시간이 있음). HTTP 헤더 만 파일에 기록됩니다.
- CVE-2020-8169 취약점 : 이로 인해 사이트에 액세스하기위한 일부 암호 (Basic, Digest, NTLM 등)의 DNS 서버에서 누출이 발생할 수 있습니다.
URL에서 암호 구분 기호로도 사용되는 암호에 "@"문자를 사용할 때 HTTP 리디렉션이 트리거되면 curl은 도메인과 함께 "@"문자 뒤에 암호의 일부를 전송하여 결정합니다. 이름.
예를 들어 암호 "passw @ passw"와 사용자 이름 "user"를 지정하면 curl은 "https : user : passw"대신 URL "https : // user : passw @ passw @ example.com / path"를 생성합니다. % 40passw@example.com/path "호스트 해결 요청을 보내십시오"pasww@example.com "대신"example.com ".
HTTP 리디렉터에 대한 지원을 활성화 할 때 문제가 나타납니다. 상대 (CURLOPT_FOLLOWLOCATION을 통해 비활성화 됨).
기존 DNS를 사용하는 경우 DNS 공급자와 공격자는 암호의 일부에 대한 정보를 찾을 수 있습니다., 전송 네트워크 트래픽을 가로 챌 수 있습니다 (DNS 트래픽이 암호화되지 않기 때문에 원래 요청이 HTTPS를 통해 이루어진 경우에도). DNS over HTTPS (DoH)를 사용하는 경우 누수는 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
다음과 같이 루트로 입력합니다.
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
그것에 대해 더 알고 싶다면 상담 할 수 있습니다. 다음 링크.