From d48aa421d941caac268eff9a4a61812085809179 Mon Sep 17 00:00:00 2001 From: Q_back Date: Fri, 24 Apr 2020 23:38:37 +0200 Subject: [PATCH 1/2] renamed openssl to openssl_wrapper to dont shadow orignal openssl name --- w3af/core/data/url/handlers/keepalive/connections.py | 2 +- w3af/core/data/url/{openssl => openssl_wrapper}/__init__.py | 0 w3af/core/data/url/{openssl => openssl_wrapper}/ssl_wrapper.py | 0 .../data/url/{openssl => openssl_wrapper}/tests/__init__.py | 0 .../url/{openssl => openssl_wrapper}/tests/test_ssl_wrapper.py | 2 +- w3af/plugins/audit/ssl_certificate.py | 2 +- 6 files changed, 3 insertions(+), 3 deletions(-) rename w3af/core/data/url/{openssl => openssl_wrapper}/__init__.py (100%) rename w3af/core/data/url/{openssl => openssl_wrapper}/ssl_wrapper.py (100%) rename w3af/core/data/url/{openssl => openssl_wrapper}/tests/__init__.py (100%) rename w3af/core/data/url/{openssl => openssl_wrapper}/tests/test_ssl_wrapper.py (95%) diff --git a/w3af/core/data/url/handlers/keepalive/connections.py b/w3af/core/data/url/handlers/keepalive/connections.py index f874a9c04f..146367b7a7 100644 --- a/w3af/core/data/url/handlers/keepalive/connections.py +++ b/w3af/core/data/url/handlers/keepalive/connections.py @@ -33,7 +33,7 @@ from .utils import debug from w3af.core.controllers.exceptions import HTTPRequestException -from w3af.core.data.url.openssl.ssl_wrapper import wrap_socket +from w3af.core.data.url.openssl_wrapper.ssl_wrapper import wrap_socket class UniqueID(object): diff --git a/w3af/core/data/url/openssl/__init__.py b/w3af/core/data/url/openssl_wrapper/__init__.py similarity index 100% rename from w3af/core/data/url/openssl/__init__.py rename to w3af/core/data/url/openssl_wrapper/__init__.py diff --git a/w3af/core/data/url/openssl/ssl_wrapper.py b/w3af/core/data/url/openssl_wrapper/ssl_wrapper.py similarity index 100% rename from w3af/core/data/url/openssl/ssl_wrapper.py rename to w3af/core/data/url/openssl_wrapper/ssl_wrapper.py diff --git a/w3af/core/data/url/openssl/tests/__init__.py b/w3af/core/data/url/openssl_wrapper/tests/__init__.py similarity index 100% rename from w3af/core/data/url/openssl/tests/__init__.py rename to w3af/core/data/url/openssl_wrapper/tests/__init__.py diff --git a/w3af/core/data/url/openssl/tests/test_ssl_wrapper.py b/w3af/core/data/url/openssl_wrapper/tests/test_ssl_wrapper.py similarity index 95% rename from w3af/core/data/url/openssl/tests/test_ssl_wrapper.py rename to w3af/core/data/url/openssl_wrapper/tests/test_ssl_wrapper.py index 14589b7fcf..763872d120 100644 --- a/w3af/core/data/url/openssl/tests/test_ssl_wrapper.py +++ b/w3af/core/data/url/openssl_wrapper/tests/test_ssl_wrapper.py @@ -23,7 +23,7 @@ import OpenSSL import ssl -from w3af.core.data.url.openssl.ssl_wrapper import OpenSSLReformattedError +from w3af.core.data.url.openssl_wrapper.ssl_wrapper import OpenSSLReformattedError class TestSSLError(unittest.TestCase): diff --git a/w3af/plugins/audit/ssl_certificate.py b/w3af/plugins/audit/ssl_certificate.py index ef1154f1e8..c68b4f40aa 100644 --- a/w3af/plugins/audit/ssl_certificate.py +++ b/w3af/plugins/audit/ssl_certificate.py @@ -37,7 +37,7 @@ from w3af.core.data.options.option_types import INPUT_FILE from w3af.core.data.options.option_list import OptionList from w3af.core.data.parsers.doc.url import URL -from w3af.core.data.url.openssl.ssl_wrapper import wrap_socket +from w3af.core.data.url.openssl_wrapper.ssl_wrapper import wrap_socket from w3af.core.data.kb.info import Info from w3af.core.data.kb.vuln import Vuln From 8e82e19edf8fce922c2e8b80ac447a55ccffb9dd Mon Sep 17 00:00:00 2001 From: Q_back Date: Sat, 25 Apr 2020 00:22:44 +0200 Subject: [PATCH 2/2] fix EOF error --- w3af/core/data/url/openssl_wrapper/ssl_wrapper.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/w3af/core/data/url/openssl_wrapper/ssl_wrapper.py b/w3af/core/data/url/openssl_wrapper/ssl_wrapper.py index f1cbde8324..d8f2cdfc0a 100644 --- a/w3af/core/data/url/openssl_wrapper/ssl_wrapper.py +++ b/w3af/core/data/url/openssl_wrapper/ssl_wrapper.py @@ -18,6 +18,7 @@ import socket import select import OpenSSL +from OpenSSL.SSL import SysCallError from ndg.httpsclient.subj_alt_name import SubjectAltName from pyasn1.codec.der.decoder import decode as der_decoder @@ -122,7 +123,7 @@ def close(self): def recv(self, *args, **kwargs): try: data = self.ssl_conn.recv(*args, **kwargs) - except OpenSSL.SSL.ZeroReturnError: + except (OpenSSL.SSL.ZeroReturnError, SysCallError): # empty string signalling that the other side has closed the # connection or that some kind of error happen and no more reads # should be done on this socket