gitextract_ilxhtbq2/ ├── .gitignore ├── 2021/ │ ├── README.md │ ├── eof-final/ │ │ ├── exp/ │ │ │ ├── logger.py │ │ │ ├── sugar.py │ │ │ └── two-gadget.py │ │ ├── logger/ │ │ │ ├── Dockerfile │ │ │ ├── docker-compose.yml │ │ │ ├── share/ │ │ │ │ ├── Makefile │ │ │ │ ├── flag │ │ │ │ ├── logger │ │ │ │ ├── logger.c │ │ │ │ └── run.sh │ │ │ └── xinetd │ │ ├── sugar/ │ │ │ ├── Dockerfile │ │ │ ├── docker-compose.yml │ │ │ ├── share/ │ │ │ │ ├── Makefile │ │ │ │ ├── flag │ │ │ │ ├── run.sh │ │ │ │ ├── sugar │ │ │ │ └── sugar.c │ │ │ └── xinetd │ │ └── two-gadget/ │ │ ├── Dockerfile │ │ ├── docker-compose.yml │ │ ├── share/ │ │ │ ├── Makefile │ │ │ ├── flag │ │ │ ├── run.sh │ │ │ ├── two-gadget │ │ │ └── two-gadget.c │ │ └── xinetd │ ├── eof-qual/ │ │ ├── fullchain-buff/ │ │ │ └── README.md │ │ ├── hello-world/ │ │ │ └── README.md │ │ └── myfs/ │ │ └── README.md │ ├── quals/ │ │ ├── exp/ │ │ │ ├── fullchain-buff.py │ │ │ ├── hello-world.py │ │ │ ├── myfs-fuzz.py │ │ │ └── myfs.py │ │ ├── fullchain-buff/ │ │ │ ├── Dockerfile │ │ │ ├── docker-compose.yml │ │ │ ├── share/ │ │ │ │ ├── Makefile │ │ │ │ ├── flag │ │ │ │ ├── fullchain-buff │ │ │ │ ├── fullchain-buff.c │ │ │ │ └── run.sh │ │ │ └── xinetd │ │ └── myfs/ │ │ ├── Dockerfile │ │ ├── build.sh │ │ ├── pow.py │ │ ├── run.sh │ │ ├── setup.sh │ │ ├── share/ │ │ │ ├── Makefile │ │ │ ├── flag1.txt │ │ │ ├── flag2.txt │ │ │ ├── flag3.txt │ │ │ ├── fs.c │ │ │ ├── fs.h │ │ │ ├── gc.c │ │ │ ├── gc.h │ │ │ ├── list.h │ │ │ ├── main.c │ │ │ ├── mycrypto.c │ │ │ ├── mycrypto.h │ │ │ ├── myfs │ │ │ ├── run.sh │ │ │ ├── user.c │ │ │ └── user.h │ │ └── xinetd │ ├── week1/ │ │ ├── demo/ │ │ │ ├── Makefile │ │ │ ├── demo_BOF1 │ │ │ ├── demo_BOF1.c │ │ │ ├── demo_BOF1.py │ │ │ ├── demo_BOF2_leak_canary │ │ │ ├── demo_BOF2_leak_canary.c │ │ │ ├── demo_BOF2_leak_canary.py │ │ │ ├── demo_GOT │ │ │ ├── demo_GOT.c │ │ │ ├── demo_GOT.sh │ │ │ ├── demo_ROP │ │ │ ├── demo_ROP.c │ │ │ ├── demo_ROP.py │ │ │ ├── demo_canary │ │ │ ├── demo_canary.c │ │ │ ├── demo_canary.sh │ │ │ ├── demo_fmt │ │ │ ├── demo_fmt.c │ │ │ ├── demo_fmt.py │ │ │ ├── demo_one_gadget_with_ROP │ │ │ ├── demo_one_gadget_with_ROP.c │ │ │ ├── demo_one_gadget_with_ROP.py │ │ │ ├── demo_shellcode │ │ │ ├── demo_shellcode.c │ │ │ ├── demo_shellcode.py │ │ │ ├── demo_stack_pivoting │ │ │ ├── demo_stack_pivoting.c │ │ │ └── demo_stack_pivoting.py │ │ ├── hw/ │ │ │ ├── exp/ │ │ │ │ ├── fullchain-nerf.py │ │ │ │ ├── fullchain.py │ │ │ │ └── sandbox.py │ │ │ ├── fullchain/ │ │ │ │ ├── Dockerfile │ │ │ │ ├── docker-compose.yml │ │ │ │ ├── share/ │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── flag │ │ │ │ │ ├── fullchain │ │ │ │ │ ├── fullchain.c │ │ │ │ │ └── run.sh │ │ │ │ └── xinetd │ │ │ ├── fullchain-nerf/ │ │ │ │ ├── Dockerfile │ │ │ │ ├── docker-compose.yml │ │ │ │ ├── share/ │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── flag │ │ │ │ │ ├── fullchain-nerf │ │ │ │ │ ├── fullchain-nerf.c │ │ │ │ │ └── run.sh │ │ │ │ └── xinetd │ │ │ └── sandbox/ │ │ │ ├── Dockerfile │ │ │ ├── docker-compose.yml │ │ │ ├── share/ │ │ │ │ ├── Makefile │ │ │ │ ├── flag │ │ │ │ ├── run.sh │ │ │ │ ├── sandbox │ │ │ │ └── sandbox.c │ │ │ └── xinetd │ │ └── lab/ │ │ ├── Got2win/ │ │ │ ├── Dockerfile │ │ │ ├── docker-compose.yml │ │ │ ├── share/ │ │ │ │ ├── Makefile │ │ │ │ ├── flag │ │ │ │ ├── got2win │ │ │ │ ├── got2win.c │ │ │ │ └── run.sh │ │ │ └── xinetd │ │ ├── Rop2win/ │ │ │ ├── Dockerfile │ │ │ ├── docker-compose.yml │ │ │ ├── share/ │ │ │ │ ├── Makefile │ │ │ │ ├── flag │ │ │ │ ├── rop2win │ │ │ │ ├── rop2win.c │ │ │ │ └── run.sh │ │ │ └── xinetd │ │ └── exp/ │ │ ├── Got2win.py │ │ └── Rop2win.py │ ├── week2/ │ │ ├── demo/ │ │ │ ├── Makefile │ │ │ ├── demo_UAF │ │ │ ├── demo_UAF.c │ │ │ ├── demo_UAF.sh │ │ │ ├── demo_double_free │ │ │ ├── demo_double_free.c │ │ │ ├── demo_double_free.sh │ │ │ ├── demo_fastbin │ │ │ ├── demo_fastbin.c │ │ │ ├── demo_fastbin.sh │ │ │ ├── demo_heap_overflow │ │ │ ├── demo_heap_overflow.c │ │ │ ├── demo_heap_overflow.sh │ │ │ ├── demo_largebin │ │ │ ├── demo_largebin.c │ │ │ ├── demo_largebin.sh │ │ │ ├── demo_malloc_state │ │ │ ├── demo_malloc_state.c │ │ │ ├── demo_malloc_state.sh │ │ │ ├── demo_overlapping_chunks │ │ │ ├── demo_overlapping_chunks.c │ │ │ ├── demo_overlapping_chunks.sh │ │ │ ├── demo_smallbin │ │ │ ├── demo_smallbin.c │ │ │ ├── demo_smallbin.sh │ │ │ ├── demo_tcache │ │ │ ├── demo_tcache.c │ │ │ ├── demo_tcache.sh │ │ │ ├── demo_tcache_poisoning │ │ │ ├── demo_tcache_poisoning.c │ │ │ ├── demo_tcache_poisoning.sh │ │ │ ├── demo_unsortedbin │ │ │ ├── demo_unsortedbin.c │ │ │ └── demo_unsortedbin.sh │ │ ├── hw/ │ │ │ ├── beeftalk/ │ │ │ │ ├── Dockerfile │ │ │ │ ├── docker-compose.yml │ │ │ │ ├── share/ │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── beeftalk │ │ │ │ │ ├── beeftalk.c │ │ │ │ │ ├── beeftalk.h │ │ │ │ │ ├── flag │ │ │ │ │ └── run.sh │ │ │ │ └── xinetd │ │ │ ├── easyheap/ │ │ │ │ ├── Dockerfile │ │ │ │ ├── docker-compose.yml │ │ │ │ ├── share/ │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── easyheap │ │ │ │ │ ├── easyheap.c │ │ │ │ │ ├── flag │ │ │ │ │ └── run.sh │ │ │ │ └── xinetd │ │ │ ├── exp/ │ │ │ │ ├── beeftalk.py │ │ │ │ ├── easyheap.py │ │ │ │ └── final.py │ │ │ └── final/ │ │ │ ├── Dockerfile │ │ │ ├── docker-compose.yml │ │ │ ├── share/ │ │ │ │ ├── Makefile │ │ │ │ ├── final │ │ │ │ ├── final.c │ │ │ │ ├── final.py │ │ │ │ ├── flag │ │ │ │ └── run.sh │ │ │ └── xinetd │ │ ├── lab/ │ │ │ ├── exp/ │ │ │ │ └── market.py │ │ │ ├── heapmath/ │ │ │ │ ├── Dockerfile │ │ │ │ ├── docker-compose.yml │ │ │ │ ├── share/ │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── flag │ │ │ │ │ ├── heapmath │ │ │ │ │ ├── heapmath.c │ │ │ │ │ └── run.sh │ │ │ │ └── xinetd │ │ │ └── market/ │ │ │ ├── Dockerfile │ │ │ ├── docker-compose.yml │ │ │ ├── share/ │ │ │ │ ├── Makefile │ │ │ │ ├── flag │ │ │ │ ├── market │ │ │ │ ├── market.c │ │ │ │ └── run.sh │ │ │ └── xinetd │ │ └── src_review/ │ │ ├── free_internal.c │ │ └── malloc_internal.c │ └── week3/ │ ├── hw-exp/ │ │ └── FILE_note.py │ └── lab-exp/ │ └── OvO8.js ├── 2022/ │ ├── README.md │ ├── quals/ │ │ ├── exp/ │ │ │ ├── how2know_revenge_exp.py │ │ │ ├── pbof_exp.py │ │ │ ├── real_rop++_exp.py │ │ │ └── superums_exp.py │ │ ├── how2know_revenge/ │ │ │ ├── Dockerfile │ │ │ ├── docker-compose.yml │ │ │ ├── share/ │ │ │ │ ├── Makefile │ │ │ │ ├── chal │ │ │ │ ├── flag │ │ │ │ ├── how2know_revenge.c │ │ │ │ └── run.sh │ │ │ └── xinetd │ │ ├── pbof/ │ │ │ ├── Dockerfile │ │ │ ├── docker-compose.yml │ │ │ ├── share/ │ │ │ │ ├── chal │ │ │ │ ├── exp.py │ │ │ │ ├── flag │ │ │ │ └── run.sh │ │ │ └── xinetd │ │ ├── real_rop/ │ │ │ ├── Dockerfile │ │ │ ├── docker-compose.yml │ │ │ ├── share/ │ │ │ │ ├── Makefile │ │ │ │ ├── chal │ │ │ │ ├── flag │ │ │ │ ├── real_rop++.c │ │ │ │ └── run.sh │ │ │ └── xinetd │ │ └── superums/ │ │ ├── Dockerfile │ │ ├── docker-compose.yml │ │ ├── share/ │ │ │ ├── Makefile │ │ │ ├── chal │ │ │ ├── flag │ │ │ ├── run.sh │ │ │ └── superums.c │ │ └── xinetd │ ├── week1/ │ │ └── hw/ │ │ ├── how2know/ │ │ │ ├── Dockerfile │ │ │ ├── docker-compose.yml │ │ │ ├── share/ │ │ │ │ ├── Makefile │ │ │ │ ├── chal │ │ │ │ ├── flag │ │ │ │ ├── how2know.c │ │ │ │ └── run.sh │ │ │ └── xinetd │ │ └── rop++/ │ │ ├── Dockerfile │ │ ├── docker-compose.yml │ │ ├── share/ │ │ │ ├── Makefile │ │ │ ├── chal │ │ │ ├── flag │ │ │ ├── rop++.c │ │ │ └── run.sh │ │ └── xinetd │ ├── week2/ │ │ ├── exp/ │ │ │ └── exp.py │ │ ├── hw/ │ │ │ ├── babyums/ │ │ │ │ ├── Dockerfile │ │ │ │ ├── docker-compose.yml │ │ │ │ ├── share/ │ │ │ │ │ ├── Makefile │ │ │ │ │ ├── babyums.c │ │ │ │ │ ├── chal │ │ │ │ │ ├── flag │ │ │ │ │ └── run.sh │ │ │ │ └── xinetd │ │ │ └── exp/ │ │ │ └── babyums.py │ │ └── lab/ │ │ └── babynote/ │ │ ├── Dockerfile │ │ ├── docker-compose.yml │ │ ├── share/ │ │ │ ├── Makefile │ │ │ ├── babynote.c │ │ │ ├── chal │ │ │ ├── flag │ │ │ └── run.sh │ │ └── xinetd │ └── week3/ │ ├── demo/ │ │ ├── Makefile │ │ ├── fclose_trace.c │ │ ├── fopen_trace.c │ │ ├── fread_trace.c │ │ ├── fwrite_trace.c │ │ ├── rce.c │ │ ├── rce.py │ │ └── script │ ├── exp/ │ │ ├── lab_aar_exp.py │ │ ├── lab_aaw_exp.py │ │ └── miniums.py │ ├── hw/ │ │ └── miniums/ │ │ ├── Dockerfile │ │ ├── docker-compose.yml │ │ ├── share/ │ │ │ ├── Makefile │ │ │ ├── chal │ │ │ ├── flag │ │ │ ├── miniums.c │ │ │ ├── run.sh │ │ │ └── test.py │ │ └── xinetd │ └── lab/ │ ├── aar/ │ │ ├── Dockerfile │ │ ├── docker-compose.yml │ │ ├── share/ │ │ │ ├── Makefile │ │ │ ├── aar.c │ │ │ ├── chal │ │ │ ├── example.c │ │ │ └── run.sh │ │ └── xinetd │ └── aaw/ │ ├── Dockerfile │ ├── docker-compose.yml │ ├── share/ │ │ ├── Makefile │ │ ├── aaw.c │ │ ├── chal │ │ ├── example.c │ │ └── run.sh │ └── xinetd ├── Dockerfile ├── README.md ├── how2heap/ │ ├── D │ ├── Makefile │ ├── README.md │ ├── bypass_safe_linking │ ├── bypass_safe_linking.c │ ├── decrypt_safe_linking │ ├── decrypt_safe_linking.c │ ├── fastbin_dup │ ├── fastbin_dup.c │ ├── fastbin_reverse_into_tcache │ ├── fastbin_reverse_into_tcache.c │ ├── house_of_botcake │ ├── house_of_botcake.c │ ├── house_of_einherjar │ ├── house_of_einherjar.c │ ├── house_of_lore │ ├── house_of_lore.c │ ├── house_of_mind_fastbin │ ├── house_of_mind_fastbin.c │ ├── large_bin_attack │ ├── large_bin_attack.c │ ├── ld_change.py │ ├── mmap_overlapping_chunks │ ├── mmap_overlapping_chunks.c │ ├── poison_null_byte │ ├── poison_null_byte.c │ ├── safe_linking_demo.sh │ ├── tcache_house_of_spirit │ ├── tcache_house_of_spirit.c │ ├── tcache_poisoning │ ├── tcache_poisoning.c │ ├── tcache_stashing_unlink_attack │ ├── tcache_stashing_unlink_attack.c │ ├── unsafe_unlink │ └── unsafe_unlink.c └── snippet