rapid7/metasploit-framework — pull request #3252 by dchan (2014-04-13 02:09:43+00:00)
Title: Add HeartBleed check functionality

This change allows for partial testing of HeartBleed without retrieving server memory. It can lead to false positives unlike the run() code path. The check() code path relies on vulnerable versions of OpenSSL returning a response for non-spec compliant Heartbeats, padding < 16 bytes. The minimum test case would be 6 bytes, 0x18 0x00 0x03 0x01 0x00 0x00

New versions of OpenSSL will discard the message. The actual check code sends a Heartbeat with payload of 5000 0x01 since I had some socket EOFErrors with only a couple bytes.