• Stars
    star
    102
  • Rank 334,866 (Top 7 %)
  • Language
    Ruby
  • Created over 10 years ago
  • Updated over 10 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Ruby script to test your server for the TLS Heartbleed attack.

heartbeat

Testing a remote server

To see whether your server is vulnerable to the TLS Heartbleed attack, simply run

$ ruby heartbeat-test.rb <server> [<port>]

If no port is specified, 443 is assumed as the default.

Testing client software

The Heartbleed attack affects servers and clients alike. You may run a server that detects vulnerable clients with

$ ruby heartbeat-server.rb [<port>]

The port is optional, by default the server runs on port 4443.

If you'd like to see if your locally installed OpenSSL is vulnerable, simply open another shell and run

$ openssl s_client -connect localhost:443

Now watch what the heartbeat server has to say about that client.

Another useful thing you might want to do is check whether your updated version of OpenSSL is picked up correctly by your favorite programming language. The file heartbeat-client.rb contains a simple example for checking if the OpenSSL version Ruby is compiled against is vulnerable. This approach should work for any other language that relies on OpenSSL in a similar way.

You can test all kinds of client software, I guess. Browsers, too!

Can you please make a web app?

No. It's a memory dump after all and who knows what this might contain. This bug is severe and there have been reports that it was possible to read passwords, keys and session ids from affected servers. You couldn't possibly want to trust me with operating a server where I could see parts of the memory of your local machine!

Disclaimer

Do not use this script to cause harm.

License

None.

Further info

See http://heartbleed.com/ for further infos on the attack.

More Repositories

1

krypt

Platform- and library-independent cryptography for Ruby. The official repo has moved to
Ruby
44
star
2

schadcode

Schadcode that demonstrates a revisited hash-flooding DoS attack (cf. https://www.131002.net/siphash/).
Ruby
32
star
3

siphash-c

A streaming implementation of SipHash in C as well as an optimized one-pass implementation.
C
28
star
4

FuzzBert

A random testing / fuzzer framework for Ruby. The official repo has moved to
Ruby
18
star
5

siphash-java

Java implementation of SipHash.
Java
18
star
6

asn1pull-java

An ASN.1 pull parser implementation in Java.
Java
9
star
7

siphash-ruby

A Ruby implementation of SipHash.
Ruby
8
star
8

applied-crypto.rb

Slides and codes from a workshop on using cryptography in the context of Ruby OpenSSL.
Ruby
7
star
9

krypt-core-ruby

Ruby implementation of the krypt-core API. The official repo has moved to
Ruby
6
star
10

krypt-core-java

Java implementation of the krypt-core API. The official repo has moved to
Java
5
star
11

krypt-core-c

C implementation of the krypt-core API. The official repo has moved to
C
4
star
12

prez

Presentations
Ruby
3
star
13

bytestring

An attempt at a specification for a low-level byte representation in Ruby
Ruby
3
star
14

krypt-provider-openssl

C implementation of the krypt-provider API using OpenSSL. The official repo has moved to
C
3
star
15

resin

A library to support CAdES signatures (ETSI TS 101 733, RFC 5126) in Ruby.
2
star
16

ruby-openssl

A development repository for the Ruby standard library "ext/openssl". Provides new and experimental features.
C
2
star
17

hybridsort

Analysis of a QuickSort/Insertion Sort hybrid for Ruby
Ruby
2
star
18

pekan

A Personal Kanban web application to organize your daily tasks.
JavaScript
1
star
19

ruby3-concurrency

Article (in German) about Ruby 3 concurrency primitives
Ruby
1
star
20

openssl-ext

Provides additional features that are not yet available in the OpenSSL standard library.
C
1
star
21

diff_logger

Allows to log changes made in an update, either by default logging or by providing a custom logger.
Ruby
1
star
22

rubyconf

My slides for RubyConf.
1
star
23

binyo

Fast binary IO for Ruby. The official repo has moved to
C
1
star
24

memoization-in-ruby

Code samples for the article on memoization
Ruby
1
star
25

krypt-provider-jdk

Java implementation of the krypt-provider API using JCE. The official repo has moved to
Java
1
star