A TLS packet with unexpected length was receive

Introduction

If you experience errors when using Wfuzz against SSL sites, it could be because an old know issue:python

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=515200 web

Briefly, pycurl is built against libcurl3-gnutls, which does not work with a number of web sites. Pycurl fails with the following error message:curl

   pycurl.error: (35, 'gnutls_handshake() failed: A TLS packet with unexpected
   length was received.')

Verifying the problem

Pycurl linked against gnutls: ui

$ python
>>> import pycurl
>>> pycurl.version
'libcurl/7.21.3 GnuTLS/2.8.6 zlib/1.2.3.4 libidn/1.18'

Pycurl linked against openssl: url

$ python
>>> import pycurl
>>> pycurl.version
'libcurl/7.21.3 OpenSSL/0.9.8o zlib/1.2.3.4 libidn/1.18'

Workaround

We should built pycurl against openssl: spa

1. sudo apt-get install build-essential fakeroot dpkg-dev
2. mkdir ~/python-pycurl-openssl
3. cd ~/python-pycurl-openssl
4. sudo apt-get source python-pycurl
5. sudo apt-get build-dep python-pycurl
6. sudo apt-get install libcurl4-openssl-dev
7. sudo dpkg-source -x pycurl_7.19.0-3build1.dsc
8. cd pycurl-7.19.0
9. edit debian/control file and replace all instances of 「libcurl4-gnutls-dev」 with 「libcurl4-openssl-dev」
10. sudo dpkg-buildpackage -rfakeroot -b
11. sudo dpkg -i ../python-pycurl_7.19.0-3build1_i386.deb
相關文章
相關標籤/搜索