← Back to list

CRTP Giveway CTF [Walkthrough]

Created by Florian Schüssler

Cyberologist · 2026-05-09 06:24 · 1 claps · 4.2 min read
#crt-p #altered-security #ctf-walkthrough #ctf-writeup #ctf
Open on Medium ↗

CRTP Giveway CTF [Walkthrough]

Created by Florian Schüssler

The challenge was simple — Collect 7 flags to enter the giveaway for the Certified Red Team Professional (CRTP) certification from Altered Security.

The puzzles were short, fun, and honestly a great warm-up for real-world vulnerabilities from the OWASP Top 10 (2025).

Here’s my journey — Let’s go. 👇

This is the main page : CTF Home Page

Challenge 1 — Hidden Comment (OWASP A06: Insecure Design)

I opened the page. Looked normal.

But as always, I checked View Page Source — and boom:

RkxBR3tBRTZEQkI0MDY4NzAyQX0=

The flag was stored directly inside HTML comments in Base64 encoded, which is easily viewable by anyone inspecting the source.

So i decoded it — FLAG unlocked instantly.

Challenge 2 — Developer Hint Exposure (OWASP A06: Insecure Design)

At this stage, I checked the page source first but got nothing important. then i inspect the page and found this sensitive output was left inside DevTools console hints. Any sensitive debugging information exposed at client-side is a leak.

}1CA27F9A4C8A64{GALF

I Just simply written it backwards.

Got the FLAG. Easy win.

Challenge 3 — (The One I Skipped)

I used curl and noticed the X-Debug-Note header in the HTTP response. From there, I obtained the flag. Unfortunately, I didn’t take a screenshot.

Challenge 4 — Unprotected Endpoint (OWASP A02: Security Misconfiguration)

In the source code, I found this JavaScript snippet:

I modified the url and tried loading it directly: https://cyber-giveaway.online/ch4_flag

BOOM again:

Anyone who reviews the JS or manually opens the URL gets the flag. (No Authorization check). This is why exposed endpoints are dangerous in production.

Challenge 5 — Local File Inclusion (OWASP A05: Injection)

The page allows to load: challenge5?file=index.html

So, this smells like a Local File Inclusion (LFI) challenge. That means, I can try to load other files on the server, especially the flag file right!

I replaced the file name with: ?file=flag.txt

And yes… the server happily loaded the flag.

A classic LFI — simple but effective

Challenge 6 — IDOR (OWASP A01: Broken Access Control)

The URL structure : ?note=1

I tried changing the note number.

?note=2 → Maintenance note: Internal checks ?note=3 → Dev note: Minor refactoring ?note=4 → Note not found

Then…

?note=7

And yes — the flag appeared.

Classic IDOR challanege. Users can view internal notes simply by changing the ID number. No access control, no authentication, nothing.

Challenge 7 — JWT Forgery (OWASP A08: Software/Data Integrity Failures)

Inside the HTML source, they literally leaked this:

S0VZXzEwYTI2YjY1

This is a Base64 encoding. I decoded it and got this:

KEY_10a26b65

You could forge an admin token using HS256 + leaked key.

JWT relies on strong, private signing keys. And. here the key was exposed client-side, and also too weak. This allowed forging a valid admin token.

Then i go to my favourite website: JSON Web Tokens and decode the jwt given by the challenge.

I copied the header and and payload. But, this is the guest payload, so i need to create an admin payload.

For creating that, I need iat (issued at timestamps). To get the correct iat, I inspect DevTools and go to console and type allow first, then typed this:

Math.floor(Date.now() / 1000)

In return i got the iat value = 1763905185

Now time to encode it and rebuilt the payload for getting the admin JWT

After generating this valid admin JWT, I copied it and paste it to the challenge box, and got the FLAG.

Felt like a real hacker moment xD

Profile Submission

After completing all the challenges I had to submit my linkedin URL as instructed:

Huge respect to Florian Schüssler for designing such a clean, enjoyable mini-CTF. Original giveaway post: Click Here

A great experience. Really enjoyed every bit of it.


메타데이터
post_id
546d8e9dc9b3
slug
crtp-giveway-ctf-walkthrough-546d8e9dc9b3
url
https://medium.com/@cyberologist-bd/crtp-giveway-ctf-walkthrough-546d8e9dc9b3
canonical_url
https://medium.com/@cyberologist-bd/crtp-giveway-ctf-walkthrough-546d8e9dc9b3
author_url
https://medium.com/@cyberologist-bd
status
ok
fetched_at
2026-06-26 03:39:16