ScriptCTF 2025
Writeup for most challenges in ScriptCTF2025. Also check out krauq.com, now in beta (Free AI toolbox with tradable tokens)
Misc
Read The Rules (1059 solves)
Description:
Read the rules. They can be found in the #rules channel in discord, or here. The rules will contain a link, which will ultimately contain the flag.
Solution:
Normally I don't include the welcome challenge but adding for future reference.
Reading comprehension check, click the link in the description, then click the link on the rules page to see the flag in the top right. scriptCTF{600D_1ucK_5011D3r1}
Div (720 solves)
Description:
Author: NoobMaster
I love division
Resources:
Solution:
We need to enter a number where if we divide secret by it, we get 0. Obviously we enter Infinity. Start an instance then send it to get the flag.
emoji (513 solves)
Description:
Author: noob-abhinav
Emojis everywhere! Is it a joke? Or something is hiding behind it.
Resources:
out.txt 🁳🁣🁲🁩🁰🁴🁃🁔🁆🁻🀳🁭🀰🁪🀱🁟🀳🁮🁣🀰🁤🀱🁮🁧🁟🀱🁳🁟🁷🀳🀱🁲🁤🁟🀴🁮🁤🁟🁦🁵🁮🀡🀱🁥🀴🀶🁤🁽
Solution:
The only byte that changes is the last one, if we print it in this way, we see the flag.
Enchant (410 solves)
Description:
Author: NoobMaster
I was playing minecraft, and found this strange enchantment on the enchantment table. Can you figure out what it is? Wrap the flag in scriptCTF{}
Resources:
Solution:
This is the Galactic alphabet.

scriptCTF{minecraftisfun} (no spaces)
Div 2 (333 solves)
Description:
Author: NoobMaster
Some might call this a programming challenge...
Resources:
Solution:
Subtract (328 solves)
Description:
Author: NoobMaster
The image size is 500x500. You might want to remove some stuff... Note: Some may call it guessy!
Resources:
Solution:
The file looks like pixel coordinates on a 500×500 canvas. If you naively plot every (x, y) as a white pixel on a black canvas, you’ll notice the canvas fills almost entirely—nothing readable appears. That matches the hint “remove some stuff”: maybe the absence (or parity) of certain points reveals the message.
Many coordinates are duplicated. If you count occurrences per pixel, most appear twice and a minority appear once. If you keep only the odd occurrences (i.e., pixels that appear exactly once) you remove the “noise” and letters pop out. This is effectively an XOR/parity trick: “noise” is drawn twice (cancels), signal is drawn once (remains).
Steps
Parse the coordinates
Read the file and extract all
(x, y)integer pairs.
Count frequency per pixel
Use a hashmap/counter keyed by
(x, y).
Render the odd-parity mask
Create a 500×500 blank (black) image.
For every
(x, y)withcount % 2 == 1, set that pixel to white.

Crypto
Secure-Server (541 solves)
Description:
Author: NoobMaster
John Doe uses this secure server where plaintext is never shared. Our Forensics Analyst was able to capture this traffic and the source code for the server. Can you recover John Doe's secrets?
Resources:
Solution:
Upload files.zip to krauq.com to see a detailed writeup.

RSA-1 (696 solves)
Description:
Author: noob-abhinav
Yú Tóngyī send a message to 3 peoples with unique modulus. But he left it vulnerable. Figure out :)
Attachments
Solution:
Paste out.txt in krauq.com to see the full writeup.

Mod (368 solves)
Description:
Just a simple modulo challenge
Attachments
Solution:
Secure-Server-2 (208 solves)
Description:
Author: NoobMaster
This time, the server is even more secure, but did it actually receive the secret? Simple brute-force won't work!
Attachments
Solution:
Placeholder
EaaS (102 solves)
Description:
Author: NoobMaster
Email as a Service! Have fun...
Attachments
Solution:
The I/O was a pain so I settled on a half-manual solution.

Forensics
diskchal (592 solves)
Description:
Author: Connor Chang
i accidentally vanished my flag, can u find it for me
Attachments
Solution:
Just binwalk.

pdf (508 solves)
Description:
Author: Connor Chang
so sad cause no flag in pdf :(
Attachments
Solution:
Upload the pdf to krauq.com to get the flag.

Just Some Avocado (353 solves)
Description:
Author: Connor Chang
just an innocent little avocado!
Attachments

Solution:
First run binwalk to find a password-protected zip, then crack it with john:

(john fixes are not pushed to krauq.com yet)
Then open the audio file in sonic-visualizer to get the password:

Then use it on the second zip to get the flag. (d41v3ron)
scriptCTF{1_l0ve_d41_v3r0n}
Web
Renderer (535 solves)
Description:
Author: NoobMaster
Introducing Renderer! A free-to-use app to render your images!
Attachments
Solution:
Create svg payload to upload (ask AI for details):
Then upload it and get the flag.
OSINT
The Insider (497 solves)
Description:
Someone from our support team has leaked some confidential information. Can you find out who?
Solution:
Looking at the support team on discord, one of them has the flag in their status message.

The Insider 2 (263 solves)
Description:
Author: NoobMaster
You found out the insider, but can you find what they leaked on GitHub and put it to use? Continue where you left off...
Solution:
If you click view full bio and scroll down (not obvious this is possible), we see this.

On Github:

These are login credentials to a link at the profile in the link in the Discord profile.

The Insider 3 (385 solves)
Description:
Author: NoobMaster
It's a tradition at this point. Continue where you left off...
Solution:
Check contribution activity of NoobMaster9999 to find another repo:


The Insider 4 (171 solves)
Description:
Author: NoobMaster
Good luck! Note: max flag limit is 6 for a reason, you should be able to get it in less than that. If not, open a ticket. Flag is case insensitive
Solution:
Continuing from part 3:

Rest of writeup hidden until authors allow it, currently being used for verification.
Programming
Sums (375 solves)
Description:
Author: Connor Chang
Find the sum of nums[i] for i in [l, r] (if there are any issues with input/output format, plz open a ticket)
Attachments
Solution:
Here's the solution, self explanatory.
More Divisors (218 solves)
Description:
Author: Connor Chang
find length of the longest subsequence with gcd > 1 :)
Solution:
Windows To Infinity (79 solves)
Description:
windows and windows and windows and windows and windows and winflag???? (if there are any questions about input/output format, plz open a ticket)
Solution:
Back From Where (79 solves)
Description:
Author: Connor Chang
On a grid, you begin on the top left, moving right and down until reaching the bottom right, multiplying every number you encounter on the path. Find the maximum number of trailing zeroes for every node. Note: You might want to check out BackFromBrazil from n00bzctf 2024.
(if you have any questions about input/output, plz open a ticket)
Attachments
Solution:
Will release writeup once authors verify teams.
Pwn
Index (313 solves)
Description:
Author: NoobMaster
I literally hand you the flag, just exploit it already!
Attachments
Solution:
There is a backdoor in the code. Upload the binary to dogbolt.org to get a decompilation that you can upload to AI.


Index-2 (75 solves)
Description:
Author: NoobMaster
This time, you get the file pointer, not the flag itself.
Attachments
Solution:
Rev
Plastic Shield (308 solves)
Description:
Ashray Shah
OPSec is useless unless you do it correctly.
Attachments
Solution:
ForeignDesign (135 solves)
Description:
Author: Ashray Shah
Java is fun, but sometimes I crave more.
Attachments
Solution:
Plastic Shield 2 (98 solves)
Description:
Author: Ashray Shah
Okay! Fixed last time's issue. Seriously though, I swear this one is unbreakable.
Attachments
Solution:
Extract the ciphertext from the binary, such as with:
strings -n 32 plastic-shield-2 | grep -E '^[0-9a-f]{64}$'
Then:
When you enter a password, the program hashes it with BLAKE2b, turns that into hex, then (very weakly) pulls only the last few hex chars to build an AES key and IV.
That key/IV are then used in AES-CBC decryption of the fixed ciphertext, and the result is shown as
"Decrypted text: ...".Because only ~12 bits of entropy from the hash are actually used, the keyspace is tiny → brute force quickly recovers the real plaintext = the flag.
So: ciphertext is a static blob in the binary, and the “logic” is just hash(password) → (tiny slice) → AES-CBC decrypt that blob.
vm (68 solves)
Description:
Author: Connor Chang
my friend sent this wierd binary that i cant run. plz help me get his flag
Attachments
Solution:
Extract the zip then run this script to get the flag:
Last updated
Was this helpful?