Other articles


  1. Forensics / Verify

    After logging in to a remote shell we find a folder files/ containing flags and fake flags and a script ./decrypt.sh as well to check and decrypt those files.

    If we run the script on one of those files we get an output telling us whether that file contains …

    read more
  2. General Skills / Binary Search

    We are provided a game script that automatically gets executed when connecting to the remote shell:

    #!/usr/bin/bash
    
    # Generate a random number between 1 and 1000
    target=$(( (RANDOM % 1000) + 1 ))
    
    echo "Welcome to the Binary Search Game!"
    echo "I'm thinking of a number between 1 and 1000."
    
    # Trap …
    read more
  3. BackFromBrazil

    Given 10 different squares made up of 1000x1000 random numbers you need to input the optimal path from the upper left to the lower right corner consisting only of steps d - down or r - right. The sum of all the visited numbers must be maximal.

    An approach using dynamic programming …

    read more
  4. Brain

    We are presented a string in brainfuck language. The first thing we notice that it is not outputting anything (not a single '.' character in it).

    >+++++++++++[<++++++++++>-]<[-]>++++++++[<++++++>-]<[-]>++++++++[<++++++>-]<[-]
    >++++++++++++++[<+++++++>-]<[-]>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++[<++>-]<[-]
    >+++++++++++++++++++++++++++++++++++++++++[<+++>-]<[-]>+++++++[<+++++++>-]<[-]
    >+++++++++++++++++++[<+++++>-]<[-]>+++++++++++[<+++++++++>-]<[-]>+++++++++++++[<++++>-]<[-]
    >+++++++++++[<++++++++++>-]<[-]>+++++++++++++++++++[<+++++>-]<[-]>+++++++++++[<+++++++++>-]<[-]
    >++++++++[<++++++>-]<[-]>++++++++++[<++++++++++>-]<[-]>+++++++++++++++++[<+++>-]<[-]
    >+++++++++++++++++++[<+++++>-]<[-]>+++++++[<+++++++>-]<[-]>+++++++++++[<++++++++++>-]<[-]
    >+++++++++++++++++++[<+++++>-]<[-]>++++++++++++++[<+++++++>-]<[-]
    >+++++++++++++++++++[<++++++>-]<[-]>+++++++++++++[<++++>-]<[-]>+++++++[<+++++++>-]<[-]
    >+++++++++++[<++++++++++>-]<[-]>+++++++++++++++++[<++++++>-]<[-]>+++++++[<++++++>-]<[-]
    >+++++++++++[<+++++++++>-]<[-]
    >+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++[<+>-]<[-]
    >+++++++++++[<+++>-]<[-]>+++++++++++++++++++++++++[<+++++>-]<[-]
    

    The next thing that jumps into ones eye are these <[-]. The < jumps right back into the previous memory cell while [-] is equal to

    while (cell_value …
    read more
  5. Numbers2

    Numbers2 is the successor of an older challenge presented at N00bzCtf 2023 with a few differences:

    • It outputs and additional welcome message
    • It asks for three different challenge questions
    • successful solving attempts are being answered with different responses

    We have to solve several programming challenges here:

    1. Challenge inputs do not …
    read more
  6. Random

    We are given parts of the cpp source of the challenge. The main functions reads in a line and is doing some checks in the input

        map<char, int> counts;
        for (char c : s) {
            if (counts[c]) {
                cout << "no repeating letters allowed passed this machine" << endl;
                return 1;
            }
            counts[c …
    read more
  7. SillyGoose

    Simple binary search number guessing game. You guess a number and the challenge tells you whether the goal is lower or higher.

    import sys
    
    lower_bound = 1
    upper_bound = pow(10, 100)
    
    f = open("sillygoose.log", "w")
    
    found = False
    while not found:
        attempt = lower_bound + (upper_bound - lower_bound)//2
        print(str(attempt))
        f.write …
    read more

social