drop-in$ git log -p
commit e65fedb3a72a16c577f4b17023b63997134b307d (HEAD -> master)
Author: picoCTF <ops@picoctf.com>
Date: Tue Mar 12 00:07:29 2024 +0000
picoCTF{t1m3m@ch1n3_88c35e3b}
diff --git a/message.txt b/message.txt
new file mode 100644
index 0000000..4324621
--- /dev/null
+++ b/message.txt
@@ -0,0 +1 @@
+This is what I was working on, but I'd need to look at my commit history to know why...
\ No newline at end of file
Blame Game
Check Git Log within message.py
drop-in$ git log -- message.py
commit 23e9d4ce78b3cea725992a0ce6f5eea0bf0bcdd4
Author: picoCTF{@sk_th3_1nt3rn_81e716ff} <ops@picoctf.com>
Date: Tue Mar 12 00:07:15 2024 +0000
optimize file size of prod code
commit 3ce5c692e2f9682a866c59ac1aeae38d35d19771
Author: picoCTF <ops@picoctf.com>
Date: Tue Mar 12 00:07:15 2024 +0000
create top secret project
Collaborative Development
Check git branch
drop-in$ git branch -a
feature/part-1
feature/part-2
feature/part-3
* main
Check flag.py each branch
# feature/part-1
print("Printing the flag...")
print("picoCTF{t3@mw0rk_", end='')
# feature/part-2
print("Printing the flag...")
print("m@k3s_th3_dr3@m_", end='')
# feature/part-3
cat flag.py
print("Printing the flag...")
print("w0rk_798f9981}")
# result
print("picoCTF{t3@mw0rk_", end='')
print("m@k3s_th3_dr3@m_", end='')
print("w0rk_798f9981}")
binhexa
Operate 2 value in
* :Multiplication
<< :Left Bit Shift
& :And
>> :Right Bit Shift
| :Or
+ :Add
I used KCalc (KDE Calculator) for operation.
Binary Search
Binary Search Between 1 ~ 1000
$ ssh -p 64963 ctf-player@atlas.picoctf.net
Welcome to the Binary Search Game!
I'm thinking of a number between 1 and 1000.
Enter your guess: 500
Higher! Try again.
Enter your guess: 750
Higher! Try again.
Enter your guess: 875
Higher! Try again.
Enter your guess: 938
Higher! Try again.
Enter your guess: 969
Lower! Try again.
Enter your guess: 953
Lower! Try again.
Enter your guess: 945
Higher! Try again.
Enter your guess: 949
Higher! Try again.
Enter your guess: 951
Congratulations! You guessed the correct number: 951
Here's your flag: picoCTF{g00d_gu355_bee04a2a}
Connection to atlas.picoctf.net closed.
endianness
Using Cyber Chef to convert word into hex. Cyber Chef could swap endianness.
tsuneki:~/dc/ctf/pico2024/general/collabo/drop-in$ nc titan.picoctf.net 56286
Welcome to the Endian CTF!
You need to find both the little endian and big endian representations of a word.
If you get both correct, you will receive the flag.
Word: vpyxm
Enter the Little Endian representation: 6d78797076
Correct Little Endian representation!
Enter the Big Endian representation: 767079786d
Correct Big Endian representation!
Congratulations! You found both endian representations correctly!
Your Flag is: picoCTF{3ndi4n_sw4p_su33ess_cfe38ef0}
dont-you-love-banners
Description said
I tried to prove this server in many way, but finally it just need to connect with nc.
It looks like password. Then,Connect to the second server and answer some question.
$ nc tethys.picoctf.net 58650
*************************************
**************WELCOME****************
*************************************
what is the password?
My_Passw@rd_@1234
What is the top cyber security conference in the world?
DEF CON
the first hacker ever was known for phreaking(making free phone calls), who was it?
Draper
player@challenge:~$
I got the shell and found script.py in root directory after digging.
# Part of script.py
try:
with open("/home/player/banner", "r") as f:
print(f.read())
except:
print("*********************************************")
print("***************DEFAULT BANNER****************")
print("*Please supply banner in /home/player/banner*")
print("*********************************************")
File /home/player/banner exists in home directory and I can edit it. There's also flag.txt in /root/ . Delete /home/player/banner and create symlink pointing to '/root/flag.txt'.
player@challenge:~$ rm banner
player@challenge:~$ ln -s /root/flag.txt banner
player@challenge:~$ ls
banner text
# Reconnect
$ nc tethys.picoctf.net 58650
picoCTF{b4nn3r_gr4bb1n9_su((3sfu11y_a0e119d4}
what is the password?
SansAlpha
In this challenge, I have to read flag.txt without using alphabet. But we could use wild card. So we could find the file like './*' and call '/bin/base64' like '/???/????64' But '/???/????64' also point '/bin/x86_64' so we have to run /???/????64[0]
SansAlpha$ ./*
bash: ./blargh: Is a directory
SansAlpha$ ./*/*
bash: ./blargh/flag.txt: Permission denied
SansAlpha$ _1=(/???/????64)
SansAlpha$ ${_1[0]} ./??????/????.???
cmV0dXJuIDAgcGljb0NURns3aDE1X211MTcxdjNyNTNfMTVfbTRkbjM1NV84YjNkODNhZH0=
# In local shell
$ base64 -d
cmV0dXJuIDAgcGljb0NURns3aDE1X211MTcxdjNyNTNfMTVfbTRkbjM1NV84YjNkODNhZH0=
return 0 picoCTF{7h15_mu171v3r53_15_m4dn355_8b3d83ad}