https://github.com/nyuuuukie/rainfall
🔐 Diving into reverse engineering and exploiting
https://github.com/nyuuuukie/rainfall
21school 42born2code 42projects rainfall
Last synced: 7 months ago
JSON representation
🔐 Diving into reverse engineering and exploiting
- Host: GitHub
- URL: https://github.com/nyuuuukie/rainfall
- Owner: nyuuuukie
- Created: 2022-10-28T21:19:47.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-16T21:04:30.000Z (over 2 years ago)
- Last Synced: 2023-12-16T15:15:56.335Z (almost 2 years ago)
- Topics: 21school, 42born2code, 42projects, rainfall
- Language: Assembly
- Homepage:
- Size: 254 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# rainfall
This project continues the cybersecurity branch.
The goal is to pass all the 14 levels:| Level | Exploit\Technique\Breach |
| ----- | ------- |
| [level0](/level0/walkthrough.md) | Passing suitable parameter |
| [level1](/level1/walkthrough.md) | Overwriting return address (to function) |
| [level2](/level2/walkthrough.md) | Overwriting return address (to shellcode) |
| [level3](/level3/walkthrough.md) | Format string attack |
| [level4](/level4/walkthrough.md) | Format string attack |
| [level5](/level5/walkthrough.md) | Format string attack, GOT rewriting |
| [level6](/level6/walkthrough.md) | Buffer overflow |
| [level7](/level7/walkthrough.md) | Buffer overflow, GOT rewriting |
| [level8](/level8/walkthrough.md) | Buffer overflow (almost) |
| [level9](/level9/walkthrough.md) | Buffer overflow, ret2shellcode |
| [bonus0](/bonus0/walkthrough.md) | Buffer overflow |
| [bonus1](/bonus1/walkthrough.md) | Buffer overflow, local var overwriting |
| [bonus2](/bonus2/walkthrough.md) | Buffer overflow, ret2libc |
| [bonus3](/bonus3/walkthrough.md) | Passing suitable parameter |## References
- [stack protection](https://developers.redhat.com/articles/2022/06/02/use-compiler-flags-stack-protection-gcc-and-clang#control_flow_integrity)
- [asm instructions at the beginning of the frame](https://reverseengineering.stackexchange.com/questions/15173/what-is-the-purpose-of-these-instructions-before-the-main-preamble)
- [frame structure](https://reverseengineering.stackexchange.com/questions/14880/basic-reversing-question-about-local-variable/14883#14883)
- [rpath vs runpath](https://medium.com/obscure-system/rpath-vs-runpath-883029b17c45)
- [compiling a shared library](https://amir.rachum.com/blog/2016/09/17/shared-libraries/#compiling-a-shared-library)
- [ret2shellcode](https://wiki.bi0s.in/pwning/stack-overflow/return-to-shellcode/)
- [stack protector](https://mudongliang.github.io/2016/05/24/stack-protector.html)