Project

Password Hacker (Java)

Challenging
72 completions
~ 36 hours
4.4

You will learn how hacking works. You will work with streams and different collections, and you'll learn about the powerful features of the Java Collections framework. You will practice developing a client app and connecting to a server using the java.net package and Socket/ServerSocket classes. The project will also get you acquainted with JSON and the time control.

Provided by

JetBrains Academy JetBrains Academy

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 Java program that can hack this password, and do so in the quickest way possible.

Training project icon

Training project

This project allows you to practice and strengthen your coding skills, helping you get ready for more advanced tasks ahead.

What you'll learn

Once you choose a project, we'll provide you with a study plan that includes all the necessary topics from your course to get it built. Here’s what awaits you:
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.
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!).
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!
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.
The admin has reacted quickly and made a patch that removes the vulnerability. It's time to look for another one. Poor admin…

Reviews

Jeroen Taheij
11 months ago
How sophisticated and relatively easy passwords and login names can be hacked without additional protection like limited login attempts or 2 factor authorization.
Pawel Mlodkowski avatar
Pawel Mlodkowski
1 year ago
I feel like constraining the output to ONLY the credentials is a bit annoying, maybe have it scan only the last few lines? Also, adding dependencies like Gson is a bit of a pain
Vladimir Fedoruk avatar
Vladimir Fedoruk
1 year ago
This exciting project, helped me deepen my knowledge of server-client infrastructure, JSON processing, basic generator algorithms, and logging.

4.4

Learners who completed this project within the Java Desktop Application Developer course rated it as follows:
Usefulness
4.3
Fun
4.5
Clarity
4.4