• 1 Post
  • 243 Comments
Joined 1 year ago
cake
Cake day: June 10th, 2023

help-circle
  • hackmud $19.99 $14.99 (25% off)

    If you’re into scripting or hacking you should check this game out. It’s an interesting twist on the Multi-User Dungeon genre. The game presents mostly as a command-line interface where your goal is to seek out targets to pwn for money/points. NPC targets will have vulnerabilities you need to find and exploit in order to expose a hackable part. Once found you engage hackermode where you’ll have a timelimit to break the target’s security (mostly through bruteforce cracking). The game allows you to write short scripts in JavaScript to automate searching for vulnerabilities and cracking security.

    Being Multi-User, there are other users online doing what you’re doing and you’re free to chat with them and exchange scripts. You’re also free to write malicious scripts that will steal money/points from others who don’t check scripts before running them!

    The part I found cool was that the game mirrors IRL hacking much closer than other hacking games. You’ll often need to submit incorrect data to NPC targets to get an error message that will contain hints about where to go next. Ex. A webpage has “News” and “About Us” sections. You can request a section that doesn’t exist to get an error message that shows all acceptable sections: “News”, “About Us”, or “Employees”. You’ve found a hidden section! Using scripts to send a bunch of mal-formed data at a target and then analyzing which ones generate an exploitable error is part of real-life security testing.














  • A lot of responses here so I’ll suggest a different approach. You can watch your python code execute line by line using a debugger. That might help with understanding how it all works.

    def my_sum(list):
        result = 0
        for number in list:
            result += number
        return result
    
    my_list = [1, 2, 3, 4, 5]
    list_sum = my_sum(my_list)
    print(list_sum)  # Prints 15
    

    If you run the above code line by line in a debugger, you’ll see that when it gets to list_sum = my_sum(my_list) the program will jump into the function my_sum(list) where “list” is a variable holding the value of “my_list”. The program continues line by line inside of the function until it hits the return result statement. The program then returns to the line it was at before jumping into the function. “my_sum(my_list)” now has an actual value. It’s the value that the return statement provided. The line would now read list_sum = 15 to python.

    A debugger shows you which lines get executed in which order and how the variables update and change with each line.

    Just a note: python has a built-in sum() function you could use instead of writing your own my_sum() function, but a debugger won’t show you how built-in functions work! They’re built into the language itself. You’d need to look up Python’s documentation to see how they actually function under the hood.