Commit Graph

14 Commits

Author SHA1 Message Date
Dirk Wetter
56c1e58567 Mask IP addresses, change host, compression
... for t/32_isHTML_valid.t .

Github.com seems to be most reliable from the ones tested so far.

bahn.de has one IP to the outside however Session resumption seems
to come from different hosts behind that IP. Bad choice for this
test.
2025-07-28 15:03:51 +02:00
Dirk Wetter
faa190354e Pick different host + openssl
* host is bahn.de
* debug message said Your ./bin/openssl.Linux.x86_64 doesn't support X25519 --> use /usr/bin/openssl
* skip debug msg check for Mac
2025-07-23 14:45:34 +02:00
Dirk Wetter
2c871f9ffa Pick another host for unit tests
heise.de seems too often run into to timeouts when doing
this unit test. Thus it is being changed to web.de, hoping
it works better.
2025-07-21 11:49:03 +02:00
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
1fb3a2224f Ensure that stderr is caught / $prg=testssl.sh
As suggested in #2780 this PR redirects all stderr on a perl level
to stdout so that we should see all errors which we miss because
we can't redirect (>/dev/null in check) or we haven't redirected yet.

Also old checks are imporved, so that $prg is used as in newer
checks.
2025-05-27 10:54:25 +02:00
Dirk
ae77349f3a see previous commit 2024-10-14 17:11:55 +02:00
Dirk
dbb8fc8013 Fix CI 2024-09-03 18:28:56 +02:00
Dirk
2067ac8123 Fall back to heise.de
.. to scan.

It worked in a few examples locally. Other hosts I tried so far weren't
available anymore (like scanme.nmap.org). In order to reduce the burden
we scan now only during PRs.
2023-07-31 16:34:56 +02:00
Dirk
fc14a02035 Changed heise.de to example.com as sometimes we're blocked 2023-07-31 13:44:35 +02:00
Dirk Wetter
cacd8c57b1 Add variable htmlfile + filter GOST message
... which is needed for newer LibreSSL/OpenSSL versions
2023-03-12 15:09:24 +01: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
Peter Dave Hello
cbae32e5a4 Add missing vim modeline config in sh & perl files, cc #1901 2021-06-01 14:40:24 +08:00
Dirk Wetter
96d4b4f08b Trying to reduced the runtime of travis
Often in the past travis was hitting a limit (50min?).

This is a try to make reasonable cuts to the unit tests:
- For STARTTLS some checks with OPenSSL are skipped
- For JSON and HTML outputs --ids-friendly was added assumming we
  don't change the output of ticketbleed, CCSI, HeartBleed and ROBOT any more.
- There's also not point to run those checks against badssl
- for  the diff check we switch to 'or diag' to display a dfifference
2020-11-27 13:19:52 +01:00
Dirk
0c20b21fc2 Better order, "command not found added" 2020-11-26 13:02:10 +01:00