/Password-Hacker

JetBrains Academy Project: Password Hacker

Primary LanguagePython

Project: Password Hacker

About

All sorts of creatures lurk around the Internet, including trolls, pirates, miners – and hackers. In this project you’ll wear the hat of a real hacker. You must connect to a secret server without knowing the password. Your task is to write a Python program that can hack this password, and do so in the quickest way possible.

Learning outcomes

You will learn how hacking works. You will work with iterators and generators, and you’ll learn a little something about the itertools module – one of the most powerful features of Python. You will practice developing a client app and connecting to a server using the socket module. The project will also get you acquainted with JSON and the time module.

This project is a part of the following track

Python Developer

What you’ll do and what you’ll learn

Stage 1/5: Server connection

For starters, let’s pretend the admin's website isn't protected at all. Learn how to connect to the server and receive data from it to access private information.

Stage 2/5: Simple brute force

OK, the admin has pumped up the server and it is now password-protected. But the password is probably short. Let's hack it by applying brute force (and no, that does not mean taking a jackhammer to the physical server!).

Stage 3/5: Dictionary brute force

The admin has picked up on our attempts to access the server, so now it is protected with a more complex password. Maybe the password is long but not unique? Let's hack it using a dictionary of the most common passwords!

Stage 4/5: Catching exception

The admin is really taking the case seriously. Now it is necessary to specify a valid login and password, and the password cannot be cracked by brute force. And yet, there is a vulnerability in the system that you can exploit to identify the admin's login and password.

Stage 5/5: Time vulnerability

The admin has reacted quickly and made a patch that removes the vulnerability. It's time to look for another one. Poor admin…