2016-09-03 2 views
2

я пытаюсь определить, является ли TLS_1_2 поддерживаемой версии на веб-сайте или не есть (portal.threatpulse.com, 443)Рукопожатие Сбой на поддерживаемой версии

from scapy_ssl_tls.ssl_tls import * 

target = (portal.threatpulse.com,443) 
sock = socket.socket(socket.AF_INET,socket.SOCK_STREAM) 
sock.connect(target) 
pkt = TLSRecord(version = 'TLS_1_2')/TLSHandshake() 
    /TLSClientHello(version = 'TLS_1_2') 
sock.sendall(str(pkt)) 
resp_pkt = sock.recv(8192) 
resp = SSL(resp_pkt) 
resp.show() 

Это дает мне рукопожатие неудачу, даже если это поддерживается. этот код работает правильно, кроме этого

+0

cipher_suites = [TLSCipherSuite.RSA_WITH_AES_128_CBC_SHA] я также попытался использовать этот набор шифров, который поддерживается –

ответ

1

Поскольку на сегодняшних сертификатах обычно есть подпись SHA-256, сервер требует, чтобы клиент поддерживал RSA/SHA-256 в качестве алгоритмов подписи/хеширования. Но эта комбинация не включена в набор по умолчанию расширения TLS , который является новым с TLS 1.2. Этот набор по умолчанию включает только (SHA-1 с RSA, DSA или ECDSA.Если клиент TLS 1.2 поддерживает больше или разные алгоритмы, чем по умолчанию, необходимо включить расширение SignatureAndHashAlgorithm и явно объявить поддержку этой пары сигнатур/хешей. следующий код этот конкретный сайт работает для меня, но и для других сайтов, которые вы, возможно, потребуется расширить это включить ECDSA тоже.

pkt = TLSRecord(version = 'TLS_1_2')/\ 
    TLSHandshake()/\ 
    TLSClientHello(
     version = 'TLS_1_2', 
     extensions=[ TLSExtension()/\ 
      TLSExtSignatureAndHashAlgorithm(algorithms = [ 
       TLSSignatureHashAlgorithm(
        hash_algorithm = TLSHashAlgorithm.SHA256, 
        signature_algorithm = TLSSignatureAlgorithm.RSA 
       ) 
      ]) 
     ] 
    ) 
+0

его дает мне KeyError: 'hash_algorithm' –

+0

@hassan_anwer: это именно то, как это работает для меня с последней версией scapy_ssl_tls, недавно установленной с помощью pip. Это просто скопировано из моей рабочей тестовой программы. –

+0

Я также установил новую версию из pip, но все же дал мне ключевую ошибку. Can u plz просмотрите или запустите этот маленький кусок кода, он будет полезен для меня http://www.filedropper.com/tlsscan –

Смежные вопросы