This repository contains scripts for testing the prevalence of the TLDR Fail vulnerability in websites hosted on IP addresses within Mauritius.
This project was made possible due to the help of Cyberstorm.mu.
Our projects analyses the readyness of Mauritius' against Quantum Computing. As many of you may know, Quantum Computing will be a game changer in the world of IT. This project checks if the the websites in Mauritius uses the latest version of TLS and if the TLS was correctly implemented using David Benjamin's code (source of the tldr_fail_test.py).
- Explanation of TLDR Fail: https://tldr.fail
Key Scripts:
tldr_fail_test.py
: Tests for the TLDR Fail vulnerability. This is David Benjamin's script. (source link)test_for_port.py
: Scans IP addresses for open ports 80 and 443test_vulnerability.py
: Runstldr_fail_test.py
on IPs with open ports and saves resultsclassify_ip_addresses.py
: Classifies vulnerable IP addresses by providertest_popular_websites.py
: Tests 47 popular websites for the vulnerability using different ISPs
Workflow:
- IP Address Collection:
- IP ranges for Mauritius are obtained from ip2location
- Port Scanning:
test_for_port.py
scans IPs for open ports and saves results to CSV files
- Check if IP is firewalled or filtered
test_for_tls.py
checks if the IP is either open or filtered.
- Vulnerability Testing:
test_vulnerability.py
runstldr_fail_test.py
on IPs with open ports 80 and 443- Results are saved to text files in
./results/vulnerability_result
- IP Address Classification:
classify_ip_addresses.py
classifies vulnerable IPs by provider
- Popular Website Testing:
test_popular_websites.py
tests 47 popular websites using different ISPs- Results are saved to files in
./results/classified_by_provider
- See
./results
for detailed results, including:- Lists of vulnerable and non-vulnerable IP addresses
- Vulnerability overview and percentage error
- Classification of vulnerable IPs by provider
- Results of popular website testing by ISP
To run the script, we highly suggest you use linux as it requires OpenSSL
to work properly otherwise there will be errors in it. Below is the steps required to run it properly. If you have any problem please open an issue on GitHub issue section.
- Clone this repository
- Go the directory where the file
requirements.txt
is. - Run command
python3 pip install -r requirements.txt
. This will install the required dependencies for python. - Run the scripts in the following order:
test_for_port.py
test_for_firewall.py
test_vulnerability.py
classify_ip_addresses.py
(optional)test_popular_websites.py
(optional)
- View the results in the
./results
directory
- Python 3
- Pandas
- openpyxl