Skip to content

zeroimpact/tlsfuzzer

 
 

Repository files navigation

Build Status Coverage Status Code Health Code Climate Code Issues

tlsfuzzer

Fuzzer and test suite for TLS (v1.0, v1.1, v1.2) implementations. Early alpha version - thus no API stability guarantees.

Dependencies

You'll need:

  • Python 2.6 or later or Python 3.2 or later
  • tlslite-ng 0.6.0-alpha3 or later (note that tlslite will not work and they conflict with eachother)
  • ecdsa python module (dependency of tlslite-ng, should get installed automatically with it)

Optionally, to make some calculations faster, you may want to install the following libraries (see tlslite-ng README for details):

  • m2crypto
  • pycrypto
  • gmp

To get pip (if your python installation doesn't already have it) download get-pip.py and run:

python get-pip.py

Then install tlslite-ng:

pip install --pre tlslite-ng

(Use --upgrade if you did install it before)

Download the tlsfuzzer:

git clone https://github.com/tomato42/tlsfuzzer.git

Usage

After all dependencies are installed, make sure:

  • you're in the directory of the project (after git clone just cd tlsfuzzer)
  • the server you want to test is running on the same computer (localhost)
  • the server is listening on port 4433
  • and the server will answer with data to HTTP queries (answer with valid HTTP responses is optional)

Then you can just run one of the tests in scripts directory, as such:

PYTHONPATH=. python scripts/test-invalid-compression-methods.py

If test has additional requirements, it will output them to console. No errors printed means that all expecations were met (so for tests with bad data the server rejected our messages).

About

TLS test suite and fuzzer

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.6%
  • Makefile 0.4%