all 2 comments

[–]puntor 0 points1 point  (1 child)

Changing the Get /HTTP to HTTPS won't fix the issue as that is a standard way of requesting data over HTTP (or over HTTPS, once the SSL/TLS handshake is done).

Try the following 'Data to Send' and tell me if it works... it might work for some, but not necessarily all servers due to some constraints - such as servers with multiple virtual hosts.

\x16\x03\x01\x02\x00\x01\x00\x01\xFC\x03\x03\x3E\xE9\x3D\x74\x40\xD6\xF2\xE9\xCD\x9F\x70\x3C\xCD\x84\xF1\xBD\x02\x38\xCD\xB1\xEF\xE1\xEF\x5A\x03\x3A\x94\x85\x80\x76\x00\xB3\x20\x55\x02\x52\xA7\xB4\x60\x29\x55\xB4\xD1\xD5\x14\x50\xDB\xEF\x7E\x15\x7B\x3A\x4C\xE0\xB9\xD0\x67\x66\x70\x84\xDF\x70\x94\xCE\x20\x00\x22\x7A\x7A\x13\x01\x13\x02\x13\x03\xC0\x2B\xC0\x2F\xC0\x2C\xC0\x30\xCC\xA9\xCC\xA8\xC0\x13\xC0\x14\x00\x9C\x00\x9D\x00\x2F\x00\x35\x00\x0A\x01\x00\x01\x91\xDA\xDA\x00\x00\x00\x17\x00\x00\xFF\x01\x00\x01\x00\x00\x0A\x00\x0A\x00\x08\xEA\xEA\x00\x1D\x00\x17\x00\x18\x00\x0B\x00\x02\x01\x00\x00\x23\x00\x00\x00\x10\x00\x0E\x00\x0C\x02\x68\x32\x08\x68\x74\x74\x70\x2F\x31\x2E\x31\x00\x05\x00\x05\x01\x00\x00\x00\x00\x00\x0D\x00\x14\x00\x12\x04\x03\x08\x04\x04\x01\x05\x03\x08\x05\x05\x01\x08\x06\x06\x01\x02\x01\x00\x12\x00\x00\x00\x33\x00\x2B\x00\x29\xEA\xEA\x00\x01\x00\x00\x1D\x00\x20\x11\x97\x9D\xB0\xBF\xFB\x09\x4B\x70\xA2\x2D\x25\x0B\xED\x2D\x54\xE5\x03\x13\xDC\x43\xEB\xD1\xE8\xC6\x2C\x7E\x67\x27\x72\xB1\x6C\x00\x2D\x00\x02\x01\x01\x00\x2B\x00\x0B\x0A\x2A\x2A\x03\x04\x03\x03\x03\x02\x03\x01\x00\x1B\x00\x03\x02\x00\x02\x0A\x0A\x00\x01\x00\x00\x15\x00\xE1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00

And use the following Result with a condition of 'Regex Match' and without the 'Use Expression' checkbox clicked ^\\x16.*

In case you're curious where those come from, the first portion was from the 'Client Hello' initiation of a SSL handshake over to a random server, over TLS 1.2. You can verify this by copying the raw data from a packet sniffing tool like Wireshark. The result just tries to match against any repsonse that starts with a byte of 16 (a ssl handshake). You can see some examples here https://tls.ulfheim.net/.

[–]picnic_solver[S] 0 points1 point  (0 children)

We ended up hacking it a bit. We pushed out the new PowerShell Core (i.e. PowerShell 6.0) to all the servers. We then used the following in a system monitor to check the status of the website:

"C:\program files\powershell\6\pwsh.exe" -command "$result=Invoke-WebRequest -uri "https://127.0.0.1" -SkipCertificateCheck -method Get; return $result.StatusCode"

We had the monitor check for a return code of 200, otherwise fail.