mirror of
https://github.com/drwetter/testssl.sh.git
synced 2025-09-06 03:52:54 +02:00

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.
Naming scheme
- 00-05: Does the bare testssl.sh work at all?
- 10-29: Do scans work fine (client side)?
- 30-39: Does reporting work?
- 50-69: Are the results what I expect (server side)?
Please help to write CI tests! Documentation can be found here.
You can consult the existing code here. Feel free to use 10_baseline_ipv4_http.t
or 12_diff_opensslversions.t
as a
template. The latter is newer and code is cleaner.