nushackers / openhack-submissions

Submissions for OpenHack 2020 (https://openhack.nushackers.org/).
Apache License 2.0
4 stars 0 forks source link

Submission - donjar #10

Open donjar opened 4 years ago

donjar commented 4 years ago

Submission Details

Type of Submission:

Link to open-source project: https://github.com/h4ck3rb0b/ctfd-discord

Additional information (optional): This is a Discord bot I made to assist us on security Capture The Flag competitions (see https://www.youtube.com/watch?v=8ev9ZX9J45A for an introduction).

Most competitions run on the CTFd platform and they have an API to login, fetch challenges, etc. The API is open source (yay open source!) so I just hooked it up with this Discord bot library called discord.py.

This bot can automatically fetch challenges and creates a channel for each challenge. It can also submit flags (the answer to the puzzles that you do) in Discord directly and move them to a "Solved" category if it is correct.

Since I am a NUS Hackers coreteam member, I am going to disqualify myself (just like the previous coreteam members).

Some words

If you are reading this, you are probably thinking if you want to submit something to OpenHack. You might be confused, you might be overwhelmed -- you do not know where to start, what to build, etc. I just wanted to let you know that everyone is in your position when they just started programming -- the field is really huge, and it is indeed daunting.

I hope this project (and the other projects in this event) can provide you some ideas and push you to start one. Such projects do not need to be big! This project is written in only 200 lines of Python code, and it took me around 4 hours to build. Of course it might be that you take much longer, even months -- that is fine! I happen to have graduated from NUS by now, so I might have just a bit more experience compared to you. What matters is the learning experience, and the enjoyment from building something that you find useful.

It does not need to be very useful or mainstream either -- this project is only for my team's specific need in solving CTFs, and that is fine! You do not need to make a groundbreaking innovation in your first go. There is always many hobbies that help from tools and automation. You can use this opportunity to also showcase your hobbies to the world :)

Finally, it does not need to be perfect either -- done is better than perfect. No one codes perfectly on their first try. It is typical for people to look back to their code that is a few years old and wonder how you can write code so shit back then. But that is fine! Anything that is working is good, and it is better to get something out there than to fuss about code quality and perfection. Code can always be made better later.

Do definitely drop by the OpenHack Telegram group if you need help of any sort (or PM one of us), and we are always happy to assist you!

chrisgzf commented 4 years ago

What matters is the learning experience, and the enjoyment from building something that you find useful.

Wow so inspiring! I feel so pumped and so motivated to start working on my own projects right now! ❣️