=

Collaborative Development writeup - Pico CTF ( General skills )

Description : My team has been working very hard on new features for our flag printing program! I wonder how they'll work together?

Solution -

Step 1: Download challenge files - First, download the challenge.zip file from the Pico CTF interface and extract it. After extracting, you’ll see the files, including a hidden .git directory. This directory indicates that the project is under version control with Git.

Since we are dealing with multiple contributors, we can assume that the flag might be spread across various Git branches.

Step 2: Check the branches - To see all the branches in this repository, run the following command:git branch. This command will list all available branches in the project. In this case, you will see three branches:

  • feature/part-1
  • feature/part-2
  • feature/part-2

Each branch contains a part of the flag, stored in a flag.py file. We need to check out each branch and retrieve the flag portion from each file.

Step 3: Checkout and Retrieve Flag Parts - To access each branch, use the git checkout command:

Code bash
git checkout BRANCH_NAME

For example, to access the first branch, you would run:

Code bash
git checkout feature/part-1

After checking out the branch, look for the flag.py file and run it using Python to print the part of the flag , run the file using command python3 flag.py and get a portion of flag.

Repeat this process for each of the three branches (feature/part-1, feature/part-2, and feature/part-3), making sure to note down each flag portion.

Step 4: Combine the Flag Parts - Once you have retrieved the flag parts from all three branches, concatenate them to form the full flag.


Flag is - picoCTF{t3@mw0rk_m@k3s_th3_dr3@m_w0rk_6c06cec1}