I heard the onetime pad is perfectly secure so I used it to send an important message to a friend, but now a UCLA competition is asking for the key? I threw that out a long time ago! Can you help me recover it? chall.py
This cryptographic challenge is to encrypt a plain text Long ago, the four nations lived together in harmony ...
Then XOR it with hexadecimal key 200e0d13461a055b4e592b0054543902462d1000042b045f1c407f18581b56194c150c13030f0a5110593606111c3e1f5e305e174571431e
Welcome to UCLA! To explore the #1 public college, we have prepared a scavenger hunt for you to walk all around the beautiful campus. college-tour.lac.tf
Just inspect the sourcecode file on html, css, js then you get 6 part of the flag
I’m something of a cheese connoisseur myself. If you can guess my favorite flavor of string cheese, I’ll even give you a flag. Of course, since I’m lazy and socially inept, I slapped together a program to do the verification for me.
Connect to my service at nc lac.tf 31131
Note: The attached binary is the exact same as the one executing on the remote server. string_cheese
When the program is run it will ask for a password, by the challenge name it’s string then we can check that there is a string stored in the program
I’m using IDA Disassembler to analyze the given binary-elf file, and get the string value blueberry to answering that’s input statement, or you can just use strings command
CATS OMG I CAN’T BELIEVE HOW MANY CATS ARE IN THIS IMAGE I NEED TO VISIT CAN YOU FIGURE OUT THE NAME OF THIS CAT HEAVEN? Answer is the domain of the website for this location. For example, if the answer was ucla, the flag would be lactf{ucla.edu}. CATS.jpeg
Check the metadata file using Exiftool and got the bunch of information, we’re dominant to Location : Lanai Cat Sanctuary
Then you can just googling it, got the domain for a flag is lanaicatsanctuary.org
I was trying to send a flag to my friend over UDP, one character at a time, but it got corrupted! I think someone else was messing around with me and sent extra bytes, though it seems like they actually abided by RFC 3514 for once. Can you get the flag? EBE.pcap
Given the packet capture file we can use wireshark to analyze it
After we check the Statistics > Protocol Hierarchy it just show UDP packet and that has 1 byte of each packet bytes
Now check the UDP Stream Right Click on 1 packet > Follow > UDP Stream, and we got this some string
By the challenge descripttion that gives some hint RFC 3514. After some googling stuff, those are known as Evil Bit - The Security Flag in the IPv4 Header
We can assume that each packet that we have to check does not contain packet 0x01 or 1 bit, and must be 0 bit.. then we can filter packets on wireshark with the following keywords ip.flags.rb != 1 or ip .flags.rb == 0
Then check every single packet that we have filtered, then assemble it to get the flag
uugh, these pigs in my pen are making a complete mess! They’re rolling all over the place! Anyway, can you decode this cipher they gave me, almost throwing it at me while rolling around? Answer in lowercase with symbols. In the image, { and } are characters that should appear in your flag, and replace spaces with _. cipher.png
We’re given an image, this image looks like the pigpen cipher, but after we decode it with dcode.fr the result it’s not make sense
By the challenge name and description rolling, we can assumed to flipped the image horizontally 180 degrees, and get perfect results then wrap it to make it lowercase
If I gaslight you enough, you won’t be able to get my flag! :) nc lac.tf 31121 Note: The attached binary is the exact same as the one executing on the remote server. Dockerfile gatekeep.c gatekeep
This one is the basic pwn challenges, we can analyze a given binary-elf file using the IDA Disassembler.
So it’s just a buffer overflow checking to see if the input is the same as the program variables in the stacks. We just need to send as many A as possible then the program will overwrite the input, and we get the flags.
Or we can use these payload python3 -c 'print("a"*50)' | {{nc}} that was given by the official challenges archive repo