https://github.com/csivitu/ctf-challenges
An aggregation of CTF challenges and write-ups for csictf 2020!
https://github.com/csivitu/ctf-challenges
csictf csivitu ctf ctf-challenges
Last synced: 4 months ago
JSON representation
An aggregation of CTF challenges and write-ups for csictf 2020!
- Host: GitHub
- URL: https://github.com/csivitu/ctf-challenges
- Owner: csivitu
- License: mit
- Created: 2020-06-21T18:39:43.000Z (about 5 years ago)
- Default Branch: master
- Last Pushed: 2022-12-22T17:43:11.000Z (over 2 years ago)
- Last Synced: 2024-04-21T17:13:08.246Z (about 1 year ago)
- Topics: csictf, csivitu, ctf, ctf-challenges
- Language: JavaScript
- Homepage: https://ctf.csivit.com
- Size: 12.1 MB
- Stars: 47
- Watchers: 3
- Forks: 9
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
[![csivit][csivitu-shield]][csivitu-url]
[](#contributors-)
[![Issues][issues-shield]][issues-url]
CTF Challenges
CTF challenges for csictf 2020.
Explore the docs ยป
View Demo
ยท
Report Bug
ยท
Request Feature
## Table of Contents
* [About the Project](#about-the-project)
* [Getting Started](#getting-started)
* [Installation](#installation)
* [Template](#Template)
* [Contributing](#contributing)
* [License](#license)
* [Contributors](#contributors-)## About The Project
This is a repository to store CTF challenges to be deployed for `csictf`.
## Getting Started
> Note: This is a beginner CTF, hence the challenges should be of easy / moderate difficulty.
> Note: DO NOT PLAGIARIZE challenges from other CTFs. You can take inspiration but not have the exact same challenge.
The following are the categories of challenges that are to be made:
- Pwn
- Web
- OSINT
- Linux
- Crypto
- Forensics
- Reversing
- Miscellaneous### Installation
1. Clone the repo
```sh
git clone https://github.com/csivitu/ctf-challenges.git
```## Template
### Flag Format
- The flags must be enclosed in `csictf{}`.
- They can have numbers, alphabets, `_`s, `'`s, `!`s, `.`s, `+`s, `-`s, `@`s, `#`s, `$`s, `%`s, `:`s, `>`s.
- They must be related to the challenge.
- They must not be so simple that you can guess them.Here's a regex for the flag format.
```
/^csictf{[\w_!@#?$%\.'"+:->]{5,50}}$/
```Here's a sample flag.
```
csictf{th1s_i5_4_s4mpl3_fl4g'+!-.@#$%?}
```### Directory Structure
The following are guidelines for creating challenge folders.
- Each challenge has it's own folder, which is placed in the relevant directory amongst the ones enlisted above.
- Each challenge **must** have a `README.md` file describing how to solve the challenge, along with the relevant code / files that needs to be run / deployed on the server.
- The flag must be present in the `README.md` for the challenge.
- We prefer having each challenge in it's own docker container, so that it's simple to deploy.```
- pwn/
- n00binary/
- static/
- img1.png
- README.md
- n00binary
- n00binary.c
- Dockerfile
- web/
- localize/
- README.md
- localize.php
- Dockerfile
```> The static folder contains images that may be used in the `README.md`.
### Template for Challenge README
As mentioned earlier, each challenge requires a `README`. The README must be written in such a way that this can serve as an **official write-up** later. This should have the following format.
```
# Challenge NameAuthor: [author](https://github.com/author)
## Description
Brief Description about challenge
## Requirements
- Docker: [Dockerfile](./Dockerfile)
## Sources
- [sample.py](./sample.py)
- [sample.txt](./sample.txt)\```
Challenge description to go up on the website.Hint 1: If any - Points 100
Hint 2: If any - Points 200
\```## Exploit
Reverse `sample.py` to decrypt the flag in `sample.txt.`
The last line should be the flag.
The flag is:
\```
csictf{some_flag_here}
\```
```> Refer to this [sample](https://github.com/csivitu/CTF-Write-ups/tree/master/HSCTF%207/Binary%20Exploitation/boredom#exploitation) for writing the exploit section.
### challenge.yml
Every challenge must have a `challenge.yml`, in the format specified in [challenge-example.yml](./challenge-example.yml). This is **MANDATORY**, without this the challenge will not be deployed. Remove the comments in the specified format, leave out the `value`, `decay` and `minimum` keys as they are in the template. Every challenge has 500 points initially and decays to 100 points over 450 solves.
### Dockerfiles
Here are some Dockerfiles you can refer to while making your own. Make sure you test it locally before making the PR.
- [Node.js Server](./web/File20%Library/Dockerfile)
- [Flask Server](./web/Mr.20%Rami)
- [Netcat to Python](./miscellaneous/Prison%20Break/Dockerfile)
- [Pwn Binary](./pwn/pwn%20intended%0x1/Dockerfile)Make sure you read the `Dockerfile`s and include the necessary files like the `flag.txt`. **REMEMBER TO ADD THE `README.md` and `challenge.yml` FILES TO `.dockerignore`, BECAUSE IT HAS THE SOLUTION.**.
## Contributing
Besides contribution of challenges, contribution of *ideas* for challenges is also appreciated. You can put forward your ideas to [@roerohan](https://github.com/roerohan), [@theProgrammerDavid](https://github.com/theProgrammerDavid) and [@thebongy](https://github.com/thebongy).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are **greatly appreciated**.
1. Fork the Project.
2. Submit your idea for the challenge in the respective `README`.
3. File a Pull Request with the `challenge-idea` tag. Each challenge must have it's own PR.
4. Once the challenge is approved, the tag is changed to `challenge-approved`, we comment on the PR.
5. Build the final challenge and update the *same* PR.
6. Make sure all commit messages are in accordance with the guidelines in [CONTRIBUTING.md](./CONTRIBUTING.md).
7. Any issues in the challenge will be addressed using GitHub Issues.You are requested to follow the contribution guidelines specified in [CONTRIBUTING.md](./CONTRIBUTING.md) while contributing to the project :smile:.
## License
Distributed under the MIT License. See [`LICENSE`](./LICENSE) for more information.
[csivitu-shield]: https://img.shields.io/badge/csivitu-csivitu-blue
[csivitu-url]: https://csivit.com
[issues-shield]: https://img.shields.io/github/issues/othneildrew/Best-README-Template.svg?style=flat-square
[issues-url]: https://github.com/csivitu/ctf-challenges/issues## Contributors โจ
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
Rohan Mukherjee
๐ ๐ ๐ป
Rishit Bansal
๐
theProgrammerDavid
๐
AJ1479
๐ ๐ป
alias-rahil
๐ ๐ป
ashikka
๐ ๐ป
parthkgh24
๐ ๐ป
Atharva-Gundawar
๐ ๐ป
SrishtiGohain
๐ ๐ป
harsoh
๐ ๐ป
tangobeer
๐ ๐ป
Shivansh Sharma
๐ ๐ป
Pragati1610
๐ ๐ป
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!