Skip to content

SteakEnthusiast/My-CTF-Challenges

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 

Repository files navigation

My-CTF-Challenges

A collection of challenges I made for CTF competitions

UofTCTF 2025

Name Category TL;DR Solve Count
JS Blacklist V2 Jail Using @babel/parser'screateImportExpressions, NodeJS dynamic import quirk, smuggling a data URI into the toString of a class via LabeledStatement 0/1510
Model Assembly Line Misc Exploiting typing.get_type_hints gadget in spacy-llm 2/1510
Simple File Storage Misc Bypassing file upload validation via parsing differential between php's ZipArchive and 7z when extracting a zip/tar polyglot 2/1510
Don't Sandbox Python 2: simple Jail 0-day in asteval, hardened to use no numpy imports 3/1510
Don't Sandbox Python 3: barebones Jail 0-day in asteval, hardened to use no numpy imports and an empty symtable 3/1510
My Second App Web Hash-length extension + hard(est?) Jinja2 SSTI filter 5/1510
Prepared: Flag 2 Web SQLi filter bypass via python double format string + RCE via writing a malicious shared object using INTO DUMPFILE and executing it using double format string attack + ctypes.cdll.__getitem__ gadget 6/1510
Timeless Web Cracking UUIDv1-based Flask SECRET_KEY, arbitrary file write, exploiting pickle deserialization in flask-session 6/1510
Smol JS Jail Smuggling code into comments, referencing variable storing unsanitized code 7/1510
Don't Sandbox Python 1: n-day? Jail n-day in asteval 11/1510
1337 v4ul7 Web JWT public+private key recovery, LFI to read source code of a node module 13/1510
Bloatware Rev Flag-checker obfuscated with Mixed Boolean-Arithmetic (MBA) 14/1510
Prepared: Flag 1 Web SQLi filter bypass via python double format string 33/1510
CodeDB Web ReDoS in search feature to leak contents of a hidden file 55/1510
Decrypt Me Forensics Cracking RAR archive with rockyou.txt, extracting an alternate data stream, and recovering AES keys generated by time-based PRNG 86/1510
Scavenger Hunt Web Classic CTF scavanger hunt with a flag split into several parts 501/1510

L3akCTF 2024

Name Category TL;DR Solves
Refactor as a Service 2 Misc Blocking previously found #execute gadget, auditing src to find insecure use of eval, escaping double quotation context by injecting a backslash -- Based on CVE-2024-36120 3/497
Refactor as a Service 1 Misc Error-based information disclosure to leak used npm package, reading documentation to find and leverage the #execute function evaluation feature 7/497

UofTCTF 2024

Name Category TL;DR Solves
JS Evaluator Jail Simulated 0-day in custom patched version of Babel's path.evaluate() 2 / 1225
JS Blacklist Jail AST-based Javascript jail with a long, restrictive blacklist 4 / 1225
Secret Message 2 Forensics Recovering plaintext from a pixelated image 10 / 1225
Jay's Bank Web JSON Injection + SQL truncation via overflow using "İ".toLowerCase() 17 / 1225
My First App Web Jinja2 SSTI with very restrictive blacklist 32 / 1225
Zero Jail Pyjail with no builtins, letters, numbers, or double underscores 34 / 1225
Baby JS Blacklist Jail AST-based Javascript jail with no CallExpressions 74 / 1225
No Code Web Bypassing DOTALL-lacking regex with newline 148 / 1225
Enable Me Forensics Reversing VBA macro in docx file 150 / 1225
The Varsity Web parseInt() shenanigans 181 / 1225
Baby's First Pyjail Jail Beginner sourceless pyjail, breakpoint() 295 / 1225
repeat Crypto Deriving repeated XOR key with known plaintext 317 / 1225
Secret Message 1 Forensics Retrieving redacted data from PDF with pdftotext 730 / 1225

UofTCTF 2023

Name Category TL;DR Solves
Library Web LFI with non-recursive stripping, enumerating package.json to discover hidden files + nodejs version 4 / 57
Secret Password Reverse Engineering Obfuscated Javascript flag-checker 7 / 57

About

A collection of challenges I made for CTF competitions

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published