Dans une tentative un peu vaine d'organiser le chaos, de donner une forme toute temporaire à tout ça,
voici un index...
(-----
Write-ups from CTFs..
as a Pwner for team (Blue Water, Water Paddler, RootMeUpBeforeYouGoGo, etc...)
or alone to practice..(Team --> Armitage)
*this index is not exhaustive, it's mostly challenges that have a write-up (there are more challenges in write-ups/ directory)*
<details>
<summary><strong>Heap Challenges</strong></summary>
- 0CTF TCTF 2022 --> babyheap
* write-up
> *seccomp in place, heap o due to type confusion, do chunk o for leak, then two tcache poisonning attacks*<br>
> *code execution dtor_list table in tls-storage, and erasing the random value at fs:0x30*<br>
- DiceCTF HOPE 2022 --> catastrophe
* write-up
> *double free in fastbin, then o libc strlen got entry with system() address*<br>
> *code execution when calling puts() function (that calls strlen...)*<br>
- BSides.Algiers.2023 --> just pwnme
* sol
> *double free in fastbin, then get allocation on environ, leak environ, get allocation on stack, write ROP on stack*<br>
- MetaCTF 2021 --> hookless
* write-up
> *double free in delete function,uaf in edit function (usable once),uaf in display() function too*<br>
> *House of Botcake attack, we o IO_2_1_stdout with environ address to leak stack address*<br>
> *we write a ROP directly on stack to achieve code execution*<br>
- vsCTF 2022 --> EZorange
* write-up
> *oob read/write in edit function, no free a, use same method than house of orange to free chunks*<br>
> *we free two chunks, then do tcache poisonning with the oob, and o __malloc_hook*<br>
- justCTF 2022 --> notes
* write-up
> *fastbin dup attack, then write to __free_hook*<br>
- idek CTF 2021 --> stacknotes
* write-up
> *malloca alloc chunk on stack depending on size,we forge a fake chunk on stack, do a house of spirit attack on it*<br>
> *then alloc a chunk on stack with our ROP that o return address*<br>
- Tamil CTF 2021 --> Uni
* write-up
> *o in edit because of strlen on a non-zero terminated string, will give us a read/write primitive*<br>
> *we set tcache.count in tcache_perthread_struct to 7 , to make a chunk goes to unsorted, to have a libc address leak*<br>
> *we edit tcache_entry of bloc of size 0x20 to __free_hook*<br>
- HSCTF 8 CTF 2021 --> House of sice
* write-up
> *double free , using fastbin dup attack, then allocation on __free_hook*<br>
- DownUnder CTF 2021 --> DUCTF Note
* write-up
> *int8 o in edit function, then write in tcache metadata, then allocation on __free_hook*<br>
- DigitalO CTF 2021 --> flavor
* write-up
> *double free and uaf, then allocation on __free_hook*<br>
- justCTF 2023 --> Nucleus
* write-up
> * o __free_hook poisonning attack *<br>
- GDG Algiers CTF 2022 --> Notes Keeper
* write-up
> *use null byte o to make 0x118 chunk goes to tcache 0x20 size when freed*<br>
> *the do fastbin dup attack, to finally o __free_hook*<br>
- RaR CTF 2021 --> unintended
* write-up
> *heap o because of strlen usage, then make o chunk & tcache poisonning*<br>
> *finally o __free_hook*<br>
- IJCTF 2021 --> ezpez<br>
* write-up
> *double free on tcache_head to ha in unsorted, leak libc, double free on stdin to modify filedescriptor and leak flag*<br>
- HSCTF 8 CTF 2021 --> Use after freedom
* write-up
> *unsorted bin attack, o global_max_fast, then o __free_hook*<br>
- justCTF 2023 --> Welcome in my house
* write-up
> * classic house of force challenge, o another chunk on heap by "turning around" the memory address space *<br>
</details>
<details>
<summary><strong>Code execution after exit</strong></summary>
- Imaginary CTF 2022 --> rope
* write-up
> *code execution * _rtld_global+3848 *, that is* __rtld_lock_lock_recursive (GL(dl_load_lock))<br>
> *and pi in *_rtld_global* , via *gets()* and setcontext gadget* <br>
- DanteCTF 2023 --> Sentence To Hell
* write-up
> *code execution * l->l_info[DT_FINI_ARRAY] *, to make it point to a forge _fini_array entry pointing to a onegadget*<br>
> *challenge on libc 2.35 from Ubuntu 22.04* <br>
- LakeCTF Quals 2023 --> Not Malloc
* write-up
> *code execution by creating a fake dtor_list in tls-storage, then pi in tls-storage & execute a ROP there*<br>
</details>
<details>
<summary><strong>Kernel exploitation challenges</strong></summary>
- UTCTF 2022 --> bloat
* write-up
> *use write primitive in kernel module, to o modprobe_path*<br>
- FCSC 2023 --> ktruc
* write-up
> *kernel exploitation on recent ubuntu 5.19 kernel, use write primitive in kernel module, to o modprobe_path*<br>
- OffensiveCon 2023 --> Blue Frost Security , bfsmatrix challenge
* write-up
> *kernel exploitation on 6.0.15, an UAF on linked list matrix*<br>
</details>
</details>
<details>
<summary><strong>SIGROP challenges</strong></summary>
- Tamil CTF 2021 --> Insecure system
* write-up
> *ROP & sigrop*<br>
- Tamil CTF 2021 --> Stress Rope
* write-up
> *small echo server in assembly, very few gadgets --> ROP & sigrop*<br>
- PBjar CTF 2021 --> Imdeghost
* write-up
> *restricted shellcode, resolved back flag exfiltration done in sigrop*<br>
</details>
<details>
<summary><strong>FSOP challenges</strong></summary>
- SECCON CTF 2022 Quals --> Baby file
* write-up
> *libc-2.31 based fsop exploitation, _wide_data is NULL and non reachable, we populate pointers first*<br>
> *then leak libc & random value at fs:0x30, we forge onegagdet mangled address and have code execution *<br>
- Hack.lu CTF 2022 --> byor
* write-up
> *libc-2.35 based fsop exploitation, _wide_data points on NULL chunk, we can o stdout*<br>
> *code execution , we execute system('/bin/sh'), new standard for FSOP*<br>
- FCSC 2022 --> RPG
* write-up
> *heap o in FILE structure, then we use FSOP read/write to o __free_hook*<br>
- Blackhat MEA CTF finals --> devpro
* write-up
> *OOB read/write in FILE structure, then we use FSOP write to o stdout, and we do a FSOP for code execution*<br>
- GlacierCTF 2023 --> Write Byte Where
* write-up
> *one byte pwn challenge, solved with a write in stdin to expand buffer, and write o for FSOP*<br>
</details>
<details>
<summary><strong>restricted shellcode challenges</strong></summary>
- Redpwn CTF 2021 --> gelcode-2
* write-up
> *shellcode with only opcodes from 0 to 5, and a seccomp that force open/read/write shellcode*<br>
- MetaCTF 2021 --> sequential shellcode
* write-up
> *shellcode where every byte must be bigger then the preceding one*<br>
- Maple CTF 2022 --> EBCSIC
* write-up
> *shellcode alphanumeric but restricted to cp037 charset*<br>
- FCSC 2022 --> palindrome
* write-up
> *need to write a palindrome shellcode, that can be read and executed in two direction*<br>
- Aero CTF 2021 --> Shell Master 2
* write-up
> *run and execute 16byte alphanumeric shellcodes*<br>
- idek CTF 2021 --> Guardians of the Galaxy
* write-up
> *shellcode that finds an pre left opened filedescriptor to escape chroot*<br>
- KITCTFCTF 2022 --> movsh
* write-up
> *shellcode composed only of mov and 2 syscalls only, with seccomp that only allow open,read,write,exit syscalls*<br>
- FCSC 2023 --> keskidi
* write-up
> *shellcode where a child leak parent accessible only flag.txt via a random temporary file modified by parent*<br>
- Blackhat MEA CTF finals --> babysbx
* write-up
> *escaping from a seccomp very restricted shellcode, and remapping a read-only zone for changing only allowed binary*<br>
- 0CTF/TCTF 2023 --> Nothing is true
* write-up
> *escaping from a seccomp very restricted with a 64 bit elf file, switching to 32bit and using sysenter *<br>
</details>
<details>
<summary><strong>Format string challenges</strong></summary>
- PBjar CTF 2021 --> wallstreet32
* write-up
> *restricted format string with many format chars forbidden, use trick '%*\n' to get a leak (libc-2.31 based)*<br>
- MetaCTF 2021 --> Simple Format Returned
* write-up
> *well classical format string, need bruteforce*<br>
- Maple CTF 2022 --> printf
* write-up
> *well classical format string, need bruteforce*<br>
- Imaginary CTF 2021 --> inkaphobia
* write-up
> *well classical format string, need bruteforce*<br>
- IJCTF 2021 --> baby sum
* write-up
> *simple format string*<br>
- FCSC 2022 --> Formatage
* write-up
> *well classical format string, need bruteforce*<br>
- DigitalO CTF 2021 --> uncurved
* write-up
> *format string on heap with seccond that forbid execve, and bit a of bruteforce*<br>
- Asis CTF Quals 2022* --> Baby Scan II
* write-up
> *abuse format string in snprintf to have a write anywhere primitive*<br>
> *then o exit got entry with _start, then o atoi with printf for leaks*<br>
> *then o atoi() with system() for code execution*<br>
- idekCTF 2022 --> relativity
* write-up
> *format string on heap with only two %n allowed, need bruteforce...only sol *<br>
</details>
<details>
<summary><strong> ROP challenges (or Buffer o style)</strong></summary>
- MetaCTF 2021 --> An Attempt Was Made
* write-up
> *restricted rop, exec, few gadgets (no libcsu_init gadget), use only add_gadget to forge gadgets*<br>
- Hayyim CTF 2021 --> warmup
* write-up
> *simple rop challenge*<br>
- Hayyim CTF 2021 --> cooldown
* write-up
> *more restricted rop challenge*<br>
- Fword CTF 2021 --> blacklist revenge
* write-up
> *seccomp in place to forbid execve, no stdout/stderr output, so a mix of ROP+connect back shellc<brode*<br>
- DefCamp CTF 2022 --> blindsight
* write-up
> *blind remote ROP with no binaries given*<br>
- TamuCTF 2022 --> Rop Golf
* write-up
> *restricted ROP with few gadgets*<br>
- SunshineCTF 2022 --> [RII] Magic the GatheRIIng
* write-up
> *oob write on stack, leak, then onegadget..*<br>
- 404 CTF 2023 --> Calculatrice
* write-up
> *o in recursi of multiplication in a calculator application*<br>
> *little ROP, that transform stderr libc address on .bss in a onegadget *<br>
- Balsn CTF 2023 --> BabyPwn2023
* write-up
> *restricted ROP with few gadgets a*<br>
> *first ROP on .bss, then execute .puts to leave libc addresses on .bss, then reeuse stdout address to leak a libc address on .bss (stdout) *<br>
</details>
<details>
<summary><strong>other architecture based challenges (arm,mips,riscv,etc...)</strong></summary>
- LINE CTF 2022 --> simbox (arm)
* write-up
> *ARM challenge based on gnu simulator 11.2 (with custom patch), we rop it, and dump flag*<br>
- JustCTF 2022 --> arm (aarch64)
* write-up
> *simple aarch64 exploitation challenge*<br>
- HackIM CTF 2022 --> Typical ROP (riscv)
* write-up
> *simple riscv gets buffer o exploitation challenge*<br>
- UTCTF 2023 --> Bing Chilling (loongarch64)
* write-up
> *simple loongarch64 gets buffer o exploitation challenge*<br>
- Hack-A-Sat 4 Qualifiers 2023 --> Smash Babdy & Drop baby (riscv32)
* write-up
> *smash baby is a buffer o, and drop baby an o needed to be ROP, on riscv32*<br>
</details>
<details>
<summary><strong>Automatic exploit generation challenges</strong></summary>
- Imaginary CTF 2021 --> speedrun
* write-up
> *automatic generated exploit, gets buffer o type*<br>
- TamuCTF 2022 --> Quick Mafs
* write-up
> *5 automatic generated exploits to exploit *<br>
</details>
<details>
<summary><strong> challenges</strong></summary>
- Fword CTF 2021 --> Peaky and the brain
* write-up
> *funny challenge, web application written in python, convert an image to brainfuck language, then execute brainfuck code*<br>
> *oob write on stack in brainfuck interpreter, seccomp in place forbid execve, so open/read/write shellcode translated in brainfuck*<br>
- CyberSecurityRumble CTF 2022 --> riscv-jit
* write-up
> *escape from a riscv bson parser inside a riscv jit interpreter to a risc,*<br>
> *then escape from a riscv just in time interpreter via a oob write in rwx zone, and execute x86 shellcode*<br>
- CyberSecurityRumble CTF 2020 --> bflol
* write-up
> *oob read/write in a brainfuck interpreter , we dump our leaks on stack*<br>
> *then o return address with a onegadget*<br>
- 404 CTF 2022 --> Changement d'architecture II
* write-up
> *a sort of arm lite vm, oob read/write in registers access, that permit o FILE structure*<br>
> *then we get code execution via FSOP*<br>
- 0CTF TCTF 2022 --> ezvm
* write-up
> *escape a stack machine type of vm, via an oob write, we leak an address on heap logic trick*<br>
> *then we get execution on exit, by forging a dtors_table in tls-storage and erasing random val at fs:0x30*<br>
- RCTF 2022 --> bfc
* write-up
> *escape a brainfuck recompiler, via an oob read/write underflow on heap, then do heap exploitation (crazy)*<br>
> *then we get code execution by o libc GOT entries of strlen and memcpy, and causing a malloc error*<br>
> *the malloc error will launch __libc_message() function that will call strlen and memcpy*<br>
- UTCTF 2023 --> UTCTF Sandbox
* write-up
> *escape a unicorn sandbox, in syscall emulation*<br>
> *we exploit first program running in guest, to get code execution via ROP*<br>
> *then we exploit syscall emulation in host loader, to leak host addresses, and execute an exec*<br>
- zer0pts CTF 2023 --> Brainjit
* write-up
> *escape from a JIT brainfuck x86 compiler*<br>
> *by exploiting code x86 generation error, then executing a shellcode*<br>
- Hitcon Quals 2023 --> Wall Maria
* write-up
> *a basic qemu escape challenge, via an oob read/write in a pci qemu driver*<br>
- m0lecon CTF Finals 2023 --> Ptmoon
* write-up
> *an ad qemu escape challenge, on qemu 8.1.1 running ubuntu 23.10*<br>
> *an oob read/write introduced in the s, and a code execution a ROP in another thread stack*<br>
- bi0s CTF 2024 -->
* write-up
> *an qemu escape challenge, on qemu 8.2.0*<br>
> *an oob read/write in a backend driver, and a code execution a shellcode in qemu RWX zone*<br>
- cor CTF 2025 --> tua-cugina-systems
* write-up
> *well, more nsjail escape in fact*<br>
> * tricks to get code execution, privesc, then a nsjail escape, worth to remember*<br>
</details>
<details>
<summary><strong>PTRACE related challenges</strong></summary>
- Balsn CTF 2022 --> Asian Parents
* write-up
> *interesting challenge where a parent process trace a child process to filter his syscalls via ptrace*<br>
- NahamCon EU CTF 2022 --> Limited resources
* write-up
> *challenge where a parent process trace a child process to modify his code via PTRACE_POKEDATA*<br>
> *and like this, escape of the restricted seccomp to dump the flag *<br>
</details>
<details>
<summary><strong>Windows challenges</strong></summary>
- INTENT CTF 2022 --> PwnMe
* write-up
> *simple buffer o, we do a little ROP that makes stack executable via a call to ()*<br>
> *then we jump to a simple windows shellcode that calls cmd.exe*<br>
</details>
<details>
<summary><strong>Uncategorized challenges (but worth reading)</strong></summary>
- Google CTF Quals 2022 --> FixedASLR
* write-up
> *great challenge, attack on LFSR based with a known output, to calculate canary (generated by the LFSR)*<br>
> *use a ROP and a SIGROP for shell execution*<br>
- Google CTF Quals 2023 --> write-flag-where 1,2 and 3
* write-up
> *a series of 3 challenges, each one more restricted, where you are give a write primitive to write flag anywhere*<br>
- FCSC 2022 --> httpd
* write-up
> *interesting challenge, exploitation of syslog() format string vuln by child process, that exploit the parent process*<br>
> *child process http authentification has a buffer o in base64 decoding to a fixed buffer on stack*<br>
- FCSC 2022 --> deflation
* write-up
> *buffer o when decompressing zlib compressed data, then restricted ROP*<br>
- Balsn CTF 2021 --> orxw
* write-up
> *interesting challenge where a parent can only write, and a child process can only open and read*<br>
> *stdin,stdout,stderr are closed, so we use time to extract flag content by testing each char, and blocking when right guess*<br>
- RealWorld CTF 2022 --> Shellfind
* quick write-up
> *exploiting a 0 day in a DLINK DCS-960L camera, via a buffer o in an udp service*<br>
- justCTF 2023 --> Tic Tac PWN!
* write-up
> * interesting challenge, where we can call libc functions via a rpc server, that can call a dynamic library imported functions (tic tac toe game) *<br>
> * but we can pass only 32bits to functions, and cannot map memory zone in the low 32bits of address space, nor use returned functions results *<br>
> * we mmap a shellcode written in a temp file as rwx, and we finally use on_exit() libc function to have code execution at exits (very trikcy one..) *<br>
- Codegate CTF 2023 --> sea
* write-up
> * interesting challenge, we can aes encrypt and decrypt data, we can o aes sboxes to zero them and leak the random key *<br>
> * some signed and unsigned trick in padding to leak data on stack, and an o in encrypt function.. *<br>
</details>
---
you find my work usefull? well you can tip me here to support it.. I will drink to you ! (probably not coffee)
<a href=" src=" me a beer amigo&emoji=🍺&slug=nobodyisnobody&button_colour=5F7FFF&font_colour=ffffff&font_family=Cookie&outline_colour=000000&coffee_colour=FFDD00" /></a>
!bender1
开发语言:Python
Star 数:216
该项目属于CTF思路方向的开源资源,代码结构清晰,适合安全研究人员学习参考。项目围绕Write-ups for various CTF展开,提供了可运行的实现,对理解相关安全机制、工具原理与攻防技术具有较高的研究价值。
从技术实现角度看,此类项目的核心在于对底层原理的深入理解与工程化落地。开发者在研究过程中可以结合官方文档与社区讨论,梳理项目的初始化流程、核心模块职责与数据流转,逐步掌握其中的技术细节与设计思路。
1. 下载源码压缩包,解压到本地环境。
2. 根据项目类型准备对应的运行环境与依赖。
3. 按照 README 中的步骤完成配置与部署。
4. 在隔离的测试环境中运行验证,避免影响生产系统。
本资源来源于开源社区,仅供安全研究、技术学习与合法授权范围内的攻防演练使用,请勿用于任何非法或侵害他人权益的用途。使用本项目产生的一切后果由使用者自行承担。
| 资源标题 | write-ups - Write-ups for various CTF |
| 所属分类 | CTF思路 |
| 发布作者 | admin |
| 发布时间 | 2026-10-05 23:46:28 |
| 下载权限 | 免费下载 |
| 附件数量 | 2 个下载链接 |
| 浏览次数 | 532 |
| 讨论数量 | 0 |
| 主题状态 | 正常讨论中 |