mirror of
				https://github.com/drwetter/testssl.sh.git
				synced 2025-11-03 23:35:26 +01:00 
			
		
		
		
	
							
								
								
									
										15
									
								
								testssl.sh
									
									
									
									
									
								
							
							
						
						
									
										15
									
								
								testssl.sh
									
									
									
									
									
								
							@@ -9349,12 +9349,12 @@ run_ssl_poodle() {
 | 
				
			|||||||
     else
 | 
					     else
 | 
				
			||||||
          pr_done_best "not vulnerable (OK)";
 | 
					          pr_done_best "not vulnerable (OK)";
 | 
				
			||||||
          if [[ "$nr_supported_ciphers" -ge 83 ]]; then
 | 
					          if [[ "$nr_supported_ciphers" -ge 83 ]]; then
 | 
				
			||||||
               # KRB and PSK cipher only missing: display discrepancy but no warning
 | 
					               # Likely only KRB and PSK cipher are missing: display discrepancy but no warning
 | 
				
			||||||
               out ", $nr_supported_ciphers/$nr_cbc_ciphers local ciphers"
 | 
					               out ", $nr_supported_ciphers/$nr_cbc_ciphers local ciphers"
 | 
				
			||||||
          else
 | 
					          else
 | 
				
			||||||
               pr_warning ", $nr_supported_ciphers/$nr_cbc_ciphers local ciphers"
 | 
					               pr_warning ", $nr_supported_ciphers/$nr_cbc_ciphers local ciphers"
 | 
				
			||||||
          fi
 | 
					          fi
 | 
				
			||||||
          fileout "poodle_ssl" "OK" "POODLE, SSL: not vulnerable (using $nr_supported_ciphers of $nr_cbc_ciphers" "$cve" "$cwe"
 | 
					          fileout "poodle_ssl" "OK" "POODLE, SSL: not vulnerable ($nr_supported_ciphers of $nr_cbc_ciphers local ciphers" "$cve" "$cwe"
 | 
				
			||||||
     fi
 | 
					     fi
 | 
				
			||||||
     outln
 | 
					     outln
 | 
				
			||||||
     tmpfile_handle $FUNCNAME.txt
 | 
					     tmpfile_handle $FUNCNAME.txt
 | 
				
			||||||
@@ -9670,10 +9670,8 @@ run_logjam() {
 | 
				
			|||||||
     # now the final verdict
 | 
					     # now the final verdict
 | 
				
			||||||
     # we only use once the color here on the screen, so screen and fileout SEEM to be inconsistent
 | 
					     # we only use once the color here on the screen, so screen and fileout SEEM to be inconsistent
 | 
				
			||||||
     if "$vuln_exportdh_ciphers"; then
 | 
					     if "$vuln_exportdh_ciphers"; then
 | 
				
			||||||
          if [[ "$nr_supported_ciphers" -ne 0 ]]; then
 | 
					 | 
				
			||||||
          pr_svrty_high "VULNERABLE (NOT ok):"; out " uses DH EXPORT ciphers"
 | 
					          pr_svrty_high "VULNERABLE (NOT ok):"; out " uses DH EXPORT ciphers"
 | 
				
			||||||
          fileout "logjam" "HIGH" "LOGJAM: VULNERABLE, uses DH EXPORT ciphers" "$cve" "$cwe" "$hint"
 | 
					          fileout "logjam" "HIGH" "LOGJAM: VULNERABLE, uses DH EXPORT ciphers" "$cve" "$cwe" "$hint"
 | 
				
			||||||
          fi
 | 
					 | 
				
			||||||
          if [[ $ret -eq 3 ]]; then
 | 
					          if [[ $ret -eq 3 ]]; then
 | 
				
			||||||
               out ", no DH key detected"
 | 
					               out ", no DH key detected"
 | 
				
			||||||
               fileout "LOGJAM_common primes" "OK" "no DH key detected"
 | 
					               fileout "LOGJAM_common primes" "OK" "no DH key detected"
 | 
				
			||||||
@@ -9831,17 +9829,13 @@ run_beast(){
 | 
				
			|||||||
     local first=true
 | 
					     local first=true
 | 
				
			||||||
     local continued=false
 | 
					     local continued=false
 | 
				
			||||||
     local cbc_cipher_list="ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:SRP-DSS-AES-256-CBC-SHA:SRP-RSA-AES-256-CBC-SHA:SRP-AES-256-CBC-SHA:DHE-PSK-AES256-CBC-SHA:DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:DH-RSA-AES256-SHA:DH-DSS-AES256-SHA:DHE-RSA-CAMELLIA256-SHA:DHE-DSS-CAMELLIA256-SHA:DH-RSA-CAMELLIA256-SHA:DH-DSS-CAMELLIA256-SHA:AECDH-AES256-SHA:ADH-AES256-SHA:ADH-CAMELLIA256-SHA:ECDH-RSA-AES256-SHA:ECDH-ECDSA-AES256-SHA:AES256-SHA:ECDHE-PSK-AES256-CBC-SHA:CAMELLIA256-SHA:RSA-PSK-AES256-CBC-SHA:PSK-AES256-CBC-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:SRP-DSS-AES-128-CBC-SHA:SRP-RSA-AES-128-CBC-SHA:SRP-AES-128-CBC-SHA:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA:DH-RSA-AES128-SHA:DH-DSS-AES128-SHA:DHE-RSA-SEED-SHA:DHE-DSS-SEED-SHA:DH-RSA-SEED-SHA:DH-DSS-SEED-SHA:DHE-RSA-CAMELLIA128-SHA:DHE-DSS-CAMELLIA128-SHA:DH-RSA-CAMELLIA128-SHA:DH-DSS-CAMELLIA128-SHA:AECDH-AES128-SHA:ADH-AES128-SHA:ADH-SEED-SHA:ADH-CAMELLIA128-SHA:ECDH-RSA-AES128-SHA:ECDH-ECDSA-AES128-SHA:AES128-SHA:ECDHE-PSK-AES128-CBC-SHA:DHE-PSK-AES128-CBC-SHA:SEED-SHA:CAMELLIA128-SHA:IDEA-CBC-SHA:RSA-PSK-AES128-CBC-SHA:PSK-AES128-CBC-SHA:KRB5-IDEA-CBC-SHA:KRB5-IDEA-CBC-MD5:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:SRP-DSS-3DES-EDE-CBC-SHA:SRP-RSA-3DES-EDE-CBC-SHA:SRP-3DES-EDE-CBC-SHA:EDH-RSA-DES-CBC3-SHA:EDH-DSS-DES-CBC3-SHA:DH-RSA-DES-CBC3-SHA:DH-DSS-DES-CBC3-SHA:AECDH-DES-CBC3-SHA:ADH-DES-CBC3-SHA:ECDH-RSA-DES-CBC3-SHA:ECDH-ECDSA-DES-CBC3-SHA:DES-CBC3-SHA:RSA-PSK-3DES-EDE-CBC-SHA:PSK-3DES-EDE-CBC-SHA:KRB5-DES-CBC3-SHA:KRB5-DES-CBC3-MD5:ECDHE-PSK-3DES-EDE-CBC-SHA:DHE-PSK-3DES-EDE-CBC-SHA:EXP1024-DHE-DSS-DES-CBC-SHA:EDH-RSA-DES-CBC-SHA:EDH-DSS-DES-CBC-SHA:DH-RSA-DES-CBC-SHA:DH-DSS-DES-CBC-SHA:ADH-DES-CBC-SHA:EXP1024-DES-CBC-SHA:DES-CBC-SHA:KRB5-DES-CBC-SHA:KRB5-DES-CBC-MD5:EXP-EDH-RSA-DES-CBC-SHA:EXP-EDH-DSS-DES-CBC-SHA:EXP-ADH-DES-CBC-SHA:EXP-DES-CBC-SHA:EXP-RC2-CBC-MD5:EXP-KRB5-RC2-CBC-SHA:EXP-KRB5-DES-CBC-SHA:EXP-KRB5-RC2-CBC-MD5:EXP-KRB5-DES-CBC-MD5:EXP-DH-DSS-DES-CBC-SHA:EXP-DH-RSA-DES-CBC-SHA"
 | 
					     local cbc_cipher_list="ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:SRP-DSS-AES-256-CBC-SHA:SRP-RSA-AES-256-CBC-SHA:SRP-AES-256-CBC-SHA:DHE-PSK-AES256-CBC-SHA:DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:DH-RSA-AES256-SHA:DH-DSS-AES256-SHA:DHE-RSA-CAMELLIA256-SHA:DHE-DSS-CAMELLIA256-SHA:DH-RSA-CAMELLIA256-SHA:DH-DSS-CAMELLIA256-SHA:AECDH-AES256-SHA:ADH-AES256-SHA:ADH-CAMELLIA256-SHA:ECDH-RSA-AES256-SHA:ECDH-ECDSA-AES256-SHA:AES256-SHA:ECDHE-PSK-AES256-CBC-SHA:CAMELLIA256-SHA:RSA-PSK-AES256-CBC-SHA:PSK-AES256-CBC-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:SRP-DSS-AES-128-CBC-SHA:SRP-RSA-AES-128-CBC-SHA:SRP-AES-128-CBC-SHA:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA:DH-RSA-AES128-SHA:DH-DSS-AES128-SHA:DHE-RSA-SEED-SHA:DHE-DSS-SEED-SHA:DH-RSA-SEED-SHA:DH-DSS-SEED-SHA:DHE-RSA-CAMELLIA128-SHA:DHE-DSS-CAMELLIA128-SHA:DH-RSA-CAMELLIA128-SHA:DH-DSS-CAMELLIA128-SHA:AECDH-AES128-SHA:ADH-AES128-SHA:ADH-SEED-SHA:ADH-CAMELLIA128-SHA:ECDH-RSA-AES128-SHA:ECDH-ECDSA-AES128-SHA:AES128-SHA:ECDHE-PSK-AES128-CBC-SHA:DHE-PSK-AES128-CBC-SHA:SEED-SHA:CAMELLIA128-SHA:IDEA-CBC-SHA:RSA-PSK-AES128-CBC-SHA:PSK-AES128-CBC-SHA:KRB5-IDEA-CBC-SHA:KRB5-IDEA-CBC-MD5:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:SRP-DSS-3DES-EDE-CBC-SHA:SRP-RSA-3DES-EDE-CBC-SHA:SRP-3DES-EDE-CBC-SHA:EDH-RSA-DES-CBC3-SHA:EDH-DSS-DES-CBC3-SHA:DH-RSA-DES-CBC3-SHA:DH-DSS-DES-CBC3-SHA:AECDH-DES-CBC3-SHA:ADH-DES-CBC3-SHA:ECDH-RSA-DES-CBC3-SHA:ECDH-ECDSA-DES-CBC3-SHA:DES-CBC3-SHA:RSA-PSK-3DES-EDE-CBC-SHA:PSK-3DES-EDE-CBC-SHA:KRB5-DES-CBC3-SHA:KRB5-DES-CBC3-MD5:ECDHE-PSK-3DES-EDE-CBC-SHA:DHE-PSK-3DES-EDE-CBC-SHA:EXP1024-DHE-DSS-DES-CBC-SHA:EDH-RSA-DES-CBC-SHA:EDH-DSS-DES-CBC-SHA:DH-RSA-DES-CBC-SHA:DH-DSS-DES-CBC-SHA:ADH-DES-CBC-SHA:EXP1024-DES-CBC-SHA:DES-CBC-SHA:KRB5-DES-CBC-SHA:KRB5-DES-CBC-MD5:EXP-EDH-RSA-DES-CBC-SHA:EXP-EDH-DSS-DES-CBC-SHA:EXP-ADH-DES-CBC-SHA:EXP-DES-CBC-SHA:EXP-RC2-CBC-MD5:EXP-KRB5-RC2-CBC-SHA:EXP-KRB5-DES-CBC-SHA:EXP-KRB5-RC2-CBC-MD5:EXP-KRB5-DES-CBC-MD5:EXP-DH-DSS-DES-CBC-SHA:EXP-DH-RSA-DES-CBC-SHA"
 | 
				
			||||||
     cbc_cipher_list_hex=""
 | 
					     local cbc_ciphers_hex="c0,14, c0,0a, c0,22, c0,21, c0,20, 00,91, 00,39, 00,38, 00,37, 00,36, 00,88, 00,87, 00,86, 00,85, c0,19, 00,3a, 00,89, c0,0f, c0,05, 00,35, c0,36, 00,84, 00,95, 00,8d, c0,13, c0,09, c0,1f, c0,1e, c0,1d, 00,33, 00,32, 00,31, 00,30, 00,9a, 00,99, 00,98, 00,97, 00,45, 00,44, 00,43, 00,42, c0,18, 00,34, 00,9b, 00,46, c0,0e, c0,04, 00,2f, c0,35, 00,90, 00,96, 00,41, 00,07, 00,94, 00,8c, 00,21, 00,25, c0,12, c0,08, c0,1c, c0,1b, c0,1a, 00,16, 00,13, 00,10, 00,0d, c0,17, 00,1b, c0,0d, c0,03, 00,0a, 00,93, 00,8b, 00,1f, 00,23, c0,34, 00,8f, 00,63, 00,15, 00,12, 00,0f, 00,0c, 00,1a, 00,62, 00,09, 00,1e, 00,22, 00,14, 00,11, 00,19, 00,08, 00,06, 00,27, 00,26, 00,2a, 00,29, 00,0b, 00,0e"
 | 
				
			||||||
     local has_dh_bits="$HAS_DH_BITS"
 | 
					     local has_dh_bits="$HAS_DH_BITS"
 | 
				
			||||||
     local using_sockets=true
 | 
					     local using_sockets=true
 | 
				
			||||||
     local cve="CVE-2011-3389"
 | 
					     local cve="CVE-2011-3389"
 | 
				
			||||||
     local cwe="CWE-20"
 | 
					     local cwe="CWE-20"
 | 
				
			||||||
     local hint=""
 | 
					     local hint=""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
     "$SSL_NATIVE" && using_sockets=false
 | 
					 | 
				
			||||||
     "$FAST" && using_sockets=false
 | 
					 | 
				
			||||||
     [[ $TLS_NR_CIPHERS == 0 ]] && using_sockets=false
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
     if [[ $VULN_COUNT -le $VULN_THRESHLD ]]; then
 | 
					     if [[ $VULN_COUNT -le $VULN_THRESHLD ]]; then
 | 
				
			||||||
          outln
 | 
					          outln
 | 
				
			||||||
          pr_headlineln " Testing for BEAST vulnerability "
 | 
					          pr_headlineln " Testing for BEAST vulnerability "
 | 
				
			||||||
@@ -9851,6 +9845,8 @@ run_beast(){
 | 
				
			|||||||
     fi
 | 
					     fi
 | 
				
			||||||
     pr_bold " BEAST"; out " ($cve)                     "
 | 
					     pr_bold " BEAST"; out " ($cve)                     "
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					     "$SSL_NATIVE" && using_sockets=false
 | 
				
			||||||
 | 
					     [[ $TLS_NR_CIPHERS == 0 ]] && using_sockets=false
 | 
				
			||||||
     if "$using_sockets" || [[ $OSSL_VER_MAJOR -lt 1 ]]; then
 | 
					     if "$using_sockets" || [[ $OSSL_VER_MAJOR -lt 1 ]]; then
 | 
				
			||||||
          for (( i=0; i < TLS_NR_CIPHERS; i++ )); do
 | 
					          for (( i=0; i < TLS_NR_CIPHERS; i++ )); do
 | 
				
			||||||
               hexc="${TLS_CIPHER_HEXCODE[i]}"
 | 
					               hexc="${TLS_CIPHER_HEXCODE[i]}"
 | 
				
			||||||
@@ -9928,7 +9924,6 @@ run_beast(){
 | 
				
			|||||||
               fi
 | 
					               fi
 | 
				
			||||||
          fi # protocol succeeded
 | 
					          fi # protocol succeeded
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
          # now we test in one shot with the precompiled ciphers
 | 
					          # now we test in one shot with the precompiled ciphers
 | 
				
			||||||
          if "$using_sockets"; then
 | 
					          if "$using_sockets"; then
 | 
				
			||||||
               case "$proto" in
 | 
					               case "$proto" in
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user