27 Commits

Author SHA1 Message Date
Dirk Wetter
a4953d6e22 Redo PR for Opossum
Fixes #2833

This does a check for the opossum vulnerability, see https://opossum-attack.com/ .

It uses a separate function to send the payload and retrieve the result via `http_header_printf()`.  It doesn't use curl or wget. The latter wouldn't work anyway as according to the manpage as the HTTP header which needs to be sent must not contain LFs.  This function was introduced because `http_get_header()` -- which was renamed to `http_head()` -- could use wget if curl is not available. On the way to this PR `http_head()` was improved, so that timeouts were used for curl and wget for better maturity.

`http_header_printf()` now uses bach sockets , strips the URI so that a plaintext request is made. This will be done in the background because not every host will answer.

Done also:
- handling when PROXY is requested (try anyway directly as the payload is not "proxyable")
- print a message when no HTTP service is present
- try hard to use plaintext HTTP when auth is required for HTTPS and service HTTP would not be defined otherwise
- manpages
- help

Also when pwnedkeys are checked a not pwned certificate is labled not neutral but OK=green.
2025-07-12 20:59:50 +02:00
Dirk Wetter
d74c1bbaee add QUIC line for testssl.sh server 2025-07-03 22:34:43 +02:00
Dirk Wetter
ba360bae7e remove extra quote sign 2025-05-28 10:21:10 +02:00
Dirk Wetter
7183bb1206 Add changed headers at target ...
... so that runners pass
2025-05-27 22:48:04 +02:00
Dirk
2557d2151b Add line 2025-05-08 18:49:51 +02:00
Dirk
f09f742ee3 fix gh action
Not sure why this has been triggered though.

 #   Failed test 'Check whether CSV output matches baseline file from testssl.sh'
 #   at t/61_diff_testsslsh.t line 57.
 #
 # %s
 # @@ -1,5 +1,4 @@
 #  "id","fqdn/ip","port","severity","finding","cve","cwe"
 # -"engine_problem","/","443","WARN","No engine or GOST support via engine with your ./bin/openssl.Linux.x86_64","",""
 #  "service","testssl.sh/81.169.166.184","443","INFO","HTTP","",""
 #  "pre_128cipher","testssl.sh/81.169.166.184","443","INFO","No 128 cipher limit bug","",""
 #  "SSLv2","testssl.sh/81.169.166.184","443","OK","not offered","",""
 # Looks like you failed 1 test of 1.
 t/61_diff_testsslsh.t ..............
2025-05-05 20:11:12 +02:00
Dirk
ebb7cf558e Update handshake 2025-04-16 21:48:30 +02:00
David Cooper
3a8038636d OpenSSL 3.5.0 client simulation
Add OpenSSL 3.5.0 to etc/client-simulation.txt.
2025-04-08 15:26:41 -07:00
Dirk
12036fb6c8 Update baseline scan + add/deprecate security headers 2025-01-22 19:54:34 +01:00
Odinmylord
035996cc44 updated default_testssl.csvfile with new RSA-PSS 2023-03-23 00:14:15 +01:00
Dirk Wetter
66ebfb2f58 Add changes to CSV baseline 2023-02-06 21:56:54 +01:00
David Cooper
6088eddab6 Show server supported signature algorithms
This commit modifies run_fs() to show the signature algorithms the server supports in the ServerKeyExchange message for TLS 1.2 and in the CertificateVerify message for TLS 1.3.

Signature algorithms are not shown for TLS 1.1 and earlier, since for those protocol versions the signature algorithm to use is specified by the protocol. While the signature algorithm used in TLS 1.1 and earlier is weak, testssl.sh already warns if these protocol versions are supported.
2022-11-18 06:23:24 -08:00
Dirk Wetter
e918a2c31f remove negotiated cipher / protocol also in baseline file 2022-11-14 20:25:56 +01:00
David Cooper
5c889bde0f Include cipher order information in file output on a per protocol basis
This commit fileout() calls to ciphers_by_strength() and cipher_pref_check() to indicate whether or not the server enforces a cipher order for a protocol version.
2022-10-20 12:49:22 -07:00
Dirk Wetter
c92a648391 Add LibreSSL from MacOS 2022-05-31 16:17:47 +02:00
Dirk Wetter
854028166d Including AppleMail 2022-05-31 15:12:16 +02:00
Dirk Wetter
6536eaddb6 remove Java 12 and OSX 10 in baseline file 2022-05-31 14:09:19 +02:00
Dirk Wetter
6023acd58c Merge branch '3.1dev' into update_clients1 2022-05-31 12:09:23 +02:00
Dirk Wetter
8d817e1dcf PR to merge #2189
added: changes in CI so that it goes through
2022-05-25 18:46:08 +02:00
Dirk
04463784a8 Fix censys link in DROWN section
See #2127. the line seems very long though.

Note: this was previously commited as #2184 but as there were two mistakes
and one other thing which could be improved I decided to make a hard reset.

Apologize if it caused inconvenience.
2022-05-14 12:06:09 +02:00
Dirk
1eb8347174 Update comparion/diff file for CI
... for the time being
2022-05-10 13:08:44 +02:00
David Cooper
fa5d13eb06 Reorder output of run_server_preference()
This commit reorders the output of run_server_preference() as discussed in #1311.
2022-03-22 15:40:49 -04:00
Dirk Wetter
18f3ad7c31 fix travis 2021-12-10 15:58:10 +01:00
David Cooper
3d9f109780
Fix 2030
Fix CI issue created by #2028 and by new certificate fingerprint.
2021-10-28 08:13:34 -04:00
Dirk Wetter
a6f8aa61de Fix travis
Respect changed HSTS epoch time of 180 days.

(DROWN output is changed too as the certificated changed but doesn't matter
as the travis check filters that)
2021-05-10 11:28:25 +02:00
Dirk
e71ebfea4a Adjust master template for t/61_diff_testsslsh.t
... so that Travis CI works again
2021-04-02 16:57:20 +02:00
Dirk
1b63760bc3 Add baseline master file for testssl.sh 2020-11-26 16:05:08 +01:00