Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
heartbleed-PoC — :broken_heart: Hearbleed exploit to retrieve sensitive information CVE-2014-0160 :broken_heart: | Kitploit
Tools/GitHubGitHub/mpgn/heartbleed-poc
Vulnerability AnalysisExploitationInformation GatheringWeb SecurityPenetration Testing
GitHubmpgn/heartbleed-poc

heartbleed-PoC

💔 Hearbleed exploit to retrieve sensitive information CVE-2014-0160 💔

View Repository
854311 years agoReviewed by Kitploit

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

Heartbleed PoC

A sample example of the Heartbleed attack using the server https://www.cloudflarechallenge.com/ made for trying this attack.

First, the two best explanations I read on the subject :

  • http://www.seancassidy.me/diagnosis-of-the-openssl-heartbleed-bug.html
  • http://xkcd.com/1354/

Exploit

The exploit start by sending the handshake to the server cloudflarechallenge.com to create the secure connection with tls. Then the function hit_hb(s) send a typycall heartbeat request :

root@kitploit:~
hb = h2bin('''
18 03 02 00 03
01 40 00
''')
  • Explanation of heartbeat (bf)call :
    18 : hearbeat record
    03 02 : TLS version
    00 03 : length
    01 : hearbeat request
    40 00 : payload length 16 384 bytes check rfc6520
    "The total length of a HeartbeatMessage MUST NOT exceed 2^14" If we enter FF FF -> 65 535, we will received 4 paquets of length 16 384 bytes

We wait for the response of the server and then we unpack 5 bytes (the header) of the tls packet (content_type, version, length) = struct.unpack('>BHH', hdr)

After that we read the rest of the request due to the length we get from the header. The data are stored in the file òut.txt.

Note: the attack can be made in the handshake phase before the encryption but for simplicity, this exploit start after the handshake.

Run it !

You must have python 2.7.* installed on your computer (not tested on python 3)

root@kitploit:~
python2 heartbleed-exploit.py www.cloudflarechallenge.com

Then you will see somehting like this :

heartbleed

Then you can check the file out.txt to see 2^14 (40 00) of data contained in the memory of the serveur instead of 4 ! You can run the exploit many time, you will have different résult in the file.

/!\ WARNING the file will be overwritten after each execution of the exploit

##Ressources and thanks

  • http://en.wikipedia.org/wiki/Heartbleed
  • https://github.com/Lekensteyn/pacemaker/blob/master/pacemaker.py#L19
  • https://gist.github.com/sh1n0b1/10100394
  • https://github.com/openssl/openssl/commit/96db9023b881d7cd9f379b0c154650d6c108e9a3
  • https://hacking.ventures/rsa-keys-in-heartbleed-memory/
Download Tool