কীভাবে কার্ল sslv3 সতর্কতা হ্যান্ডশেক ব্যর্থতা ঠিক করবেন?


27

আমি নিম্নলিখিত উপায়ে এইচটিটিপিএস ওয়েবসাইটটি কার্ল করার চেষ্টা করছি:

$ curl -v https://thepiratebay.se/

তবে এটি ত্রুটির সাথে ব্যর্থ হয়:

* About to connect() to thepiratebay.se port 443 (#0)
*   Trying 173.245.61.146...
* connected
* Connected to thepiratebay.se (173.245.61.146) port 443 (#0)
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS alert, Server hello (2):
* error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure
* Closing connection #0
curl: (35) error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure

আমার সাথে ব্যবহার -k/ --insecureবা যুক্ত insecureকরা ~/.curlrcকোনও পার্থক্য করে না।

curlকমান্ড লাইন ব্যবহার করে আমি কীভাবে শংসাপত্রটিকে উপেক্ষা করব বা জোর করব ?


ব্যবহার করার সময় wgetমনে হয় ঠিক আছে। opensslনীচের মত পরীক্ষা করার সময়ও কাজ করে:

$ openssl s_client -connect thepiratebay.se:443
CONNECTED(00000003)
SSL handshake has read 2651 bytes and written 456 bytes
New, TLSv1/SSLv3, Cipher is AES128-SHA
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : AES128-SHA

আমার আছে:

$ curl --version
curl 7.28.1 (x86_64-apple-darwin10.8.0) libcurl/7.28.1 OpenSSL/0.9.8| zlib/1.2.5 libidn/1.17
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smtp smtps telnet tftp 
Features: IDN IPv6 Largefile NTLM NTLM_WB SSL libz 

উত্তর:


20

কিছু সাইট এসএসএল 3.0 (বহু শোষণ / দুর্বলতার কারণে সম্ভব) এর জন্য সমর্থন নিষ্ক্রিয় করে, সুতরাং -2/ --sslv2অথবা -3/ দ্বারা নির্দিষ্ট এসএসএল সংস্করণকে জোর করা সম্ভব --sslv3। এছাড়াও -Lমূল্য একটি চেষ্টা করুন অনুরোধ করা পৃষ্ঠাটি ভিন্ন অবস্থানে সরানো হয়েছে।

আমার ক্ষেত্রে এটি একটি curlবাগ ছিল ( ওপেনএসএসএল-এ পাওয়া গেছে ), সুতরাং curlসর্বশেষ সংস্করণে (> 7.40) আপগ্রেড করা দরকার এবং এটি দুর্দান্ত কাজ করেছে।

আরো দেখুন:


হ্যাঁ, আপগ্রেডিং কার্লটি আমার জন্য সমস্যাটি স্থির করেছে। ধন্যবাদ।
সাইমন পূর্ব

সর্বশেষতম কার্ল পুরানো সার্ভারগুলি এখনও ব্যবহার করতে পারে এমন পুরানো আরসি 4 সাইফারকে অপছন্দ করে, তাই আমি নির্দিষ্টভাবে এটির অনুমতি দেওয়ার জন্য "- সিফার্স আরসি 4" ব্যবহার করে শেষ করেছিলাম
ম্যাক্সপলক

@ সিমোনইস্ট কোন সংস্করণ থেকে কোন সংস্করণে আপগ্রেড করেছেন?
ওলে হার্স্টেট

5

ম্যাভেরিক্স দিয়ে শুরু করে, অ্যাপল টিপলএস / এসএসএল ইঞ্জিনকে ওপেনএসএসএল থেকে তাদের নিজস্ব সুরক্ষিত ট্রান্সপোর্ট ইঞ্জিনে অ্যাপল-এ বিতরণ করা সিআরএল বাইনারি বিতরণ করেছে যা ক্লায়েন্টের শংসাপত্রের ব্যবহার ভঙ্গ করে। হোমব্রু থেকে সিআরএল বাইনারি ব্যবহার করুন:

brew install curl
brew link curl --force

1
brew link curl --forceআর কাজ করে না, আপনার অবশ্যই export "$(brew --prefix curl)/bin:$PATH"তার পরিবর্তে আপনার .bash_ প্রোফাইলে রাখা উচিত ।
লার্স নাইস্ট্রাম

1

আমি যখন ভুল হোস্ট শিরোনাম পাঠাচ্ছিলাম তখন আমার এই ত্রুটি হয়েছিল।

আমি http://127.0.0.1ব্দ2345 থেকে https://site.com:443 এ একটি প্রক্সি তৈরি করছিলাম । সুতরাং আমি অনুরোধ শিরোনামগুলি পাঠিয়ে দিচ্ছিলাম যেমনটি ব্রাউজার থেকে এসেছে এবং সেখানে হোস্ট ছিল: 127.0.0.1: 12345 শিরোলেখ। সমস্যাটি সমাধান করতে ব্রাউজার থেকে আসা হোস্ট শিরোনামটি আমি মুছে ফেলেছি।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.