Plumbing - PicoCTF Write-Up
Table of Contents
Introduction
Hello👋 Today we’re going to take a look at the challenge Plumbing on PicoCTF by Alex Fulton & Danny Tunitis. The difficulty is medium.
Challenge Description
Sometimes you need to handle process data outside of a file. Can you find a way to keep the output from this program and search for the flag? Connect to jupiter.challenges.picoctf.org 4427
.
Solution
When we connect to jupiter.challenges.picoctf.org 4427
we’re given a bunch of lines saying this is not the flag.
┌──(printn㉿printn)-[~]
└─$ nc jupiter.challenges.picoctf.org 4427
Not a flag either
Not a flag either
Again, I really don't think this is a flag
Again, I really don't think this is a flag
This is defintely not a flag
I don't think this is a flag either
Not a flag either
Not a flag either
Not a flag either
Again, I really don't think this is a flag
I don't think this is a flag either
Not a flag either
This is defintely not a flag
Again, I really don't think this is a flag
Again, I really don't think this is a flag
Not a flag either
I don't think this is a flag either
Again, I really don't think this is a flag
Not a flag either
Not a flag either
I don't think this is a flag either
Not a flag either
This is defintely not a flag
Not a flag either
Not a flag either
This is defintely not a flag
I tried to find the flag by scrolling through the output but with no luck. Looking at the hints, they say that we must remember the flag format is picoCTF{XXXX}
and that we can use pipe
.
We can filter out the output by using grep
since we know that the flag always starts with picoCTF{
. So we should be able to find the flag by using the following command.
──(printn㉿printn)-[~]
└─$ nc jupiter.challenges.picoctf.org 4427 | grep "picoCTF{"
picoCTF{digital_plumb3r_5ea1fbd7}
And we get the flag 🥳