Skip to content

Commit

Permalink
Added example for write-ups
Browse files Browse the repository at this point in the history
  • Loading branch information
cabreraalex committed Mar 19, 2014
1 parent a126612 commit 6618d71
Show file tree
Hide file tree
Showing 7 changed files with 47 additions and 4 deletions.
4 changes: 3 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,6 @@

The general organization for this repository is `topic/tech`. For example a page for HTTP would be `web/http/README.md` while RSA would go in `crytography/rsa/README.md`.

Try to keep the writing in README files and section off parts with folders.
**Check the EXAMPLE.md file for a general overview of topic organization!** Try to stick to that model unless you find it ugly and/or non-semantic.

The first introduction README's in the categories (e.g. Cryptography) will most likely not follow the EXAMPLE.md, and will have their own structure to accomodate a more broad overview of the subjects.
36 changes: 36 additions & 0 deletions EXAMPLE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#Topic Name

In this first section a simple description of what the topic is can be written up. It can [cite sources to add information](https://en.wikipedia.org/wiki/Wikipedia) and provide an overview of what types of situations the topic is used in.

Here you can go into a little more depth about how the technology works and is used. Some topics like public key cryptography, a complex and very math-based subject, can provide a simple overview of the technology and reference [more in-depth learning materials](https://developer.mozilla.org/en-US/docs/Introduction_to_Public-Key_Cryptography).

At this point you might want to give an every-day example of the topic and how it works:

###Example

Here you can provide `code snippets`, links, and/or exercises for the reader to complete. Usually generic and not very CTF-oriented.

##Detecting

After the topic has been introduced and explained, the CTF aspects can be introduced. Start off with describing how the subject is usually presented in CTFS. For example, SQL-injection challenges are usually presented through websites and forms. Describe some hints as to how to find out if this topic is involved in the challenge and ways to narrow down posibilities.

##Solving

Now the methods for solving the task can be presented. You can present standard ways of solving tasks manually, or [link specific tools that make them easier to solve](https://en.wikipedia.org/wiki/Wikipedia:Starting_an_article).

##CTF Example

Now that the topic has been detailed extensively, you can add [examples of where this tech has shown up in previous CTFs](https://en.wikipedia.org/wiki/Wikipedia:Good_articles).

##Sources/See More

After citing sources above, you should cite them in this area, on top of having them linked in the text.
For this article the citations would go as follows, in order of appearance:

[Wikipedia on Wikipedia](https://en.wikipedia.org/wiki/Wikipedia)

[Mozilla and Public Key Cryptography](https://developer.mozilla.org/en-US/docs/Introduction_to_Public-Key_Cryptography)

[Writing a Wikipedia Article](https://en.wikipedia.org/wiki/Wikipedia:Starting_an_article)

[Good Articles on Wikipedia](https://en.wikipedia.org/wiki/Wikipedia:Good_articles)
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

This repository aims to be an archive of information, tools, and references regarding CTF competitions.

CTFs, especially for beginners, can be very daunting and almost impossible to approach. With some general overviews of common CTF subjects and more in-depth research and explanation in specific topics both beginners and veterans can learn, contribute, and collaborate to learn and expand their knowledge.
CTFs, especially for beginners, can be very daunting and almost impossible to approach. With some general overviews of common CTF subjects and more in-depth research and explanation in specific topics both beginners and veterans can learn, contribute, and collaborate to expand their knowledge.

##What is a CTF?

Expand All @@ -20,11 +20,11 @@ A very simple type of CTF challenge is looking at the source code of websites or

These docs are organized broadly along the lines by which CTF tasks are organized. Inside each folder is a README like this one explaining the basics of the technology and what the tasks generally involve. Alongside these READMES are folders with more information regarding specific technologies and topics.

The best way to use these docs is to participate in an actual CTF! Join a CTF or attempt some old tasks and try to solve them. Use the information in this repository to get you started solving them. If you feel like there is insufficient information to help you solve a task, bring up an issue on this repository or try googling the task hints.
The best way to use these docs is to participate in an actual CTF! Join a CTF or attempt some old tasks and try to solve them. Use the information in this repository to get you started with finding some flags. If you feel like there is insufficient information to help you solve a task, bring up an issue on this repository!

###Moving On

You may be able to solve some CTF challenges after looking through the documents in this repository and understanding the basics of the technologies and subjects covered, but you won't be very proficient or successful for long. To be an adept CTF competitor you have to be able to combine many different strategies and tools to find the flag. Developing the ability to find flags quickly takes practice more than anything, and participating in numerous CTFs will allow you to expand your understanding, abilities, and success.
You may be able to solve some CTF challenges after looking through the documents in this repository and understanding the basics of the technologies and subjects covered, but you won't be very proficient or successful for long. To be an adept CTF competitor you have to be able to combine many different strategies and tools to find the flag. Developing the ability to find flags quickly takes practice more than anything, and participating in numerous CTFs will allow you to expand your understanding and abilities, leading you to success.

##Conclusion

Expand Down
2 changes: 2 additions & 0 deletions cryptography/caesar-cipher/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ Caesar ciphers are usually presented in very low-point tasks, if at all, and can

There are many approaches to cracking Caesar ciphers, but most commonly the best way to solve them is to write a script or run the string through a website (Options presented below) which will print out all the possible shifts of a string. At that point the most comprehensible and logical solution can be chosen.

##CTF Example

##Sources/See More

[Caesar Cipher](https://en.wikipedia.org/wiki/Caesar_cipher)
Expand Down
1 change: 1 addition & 0 deletions cryptography/rsa/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#RSA
1 change: 1 addition & 0 deletions cryptography/vigenere-cipher/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#Vigenère Cipher
1 change: 1 addition & 0 deletions web/sql-injections/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#SQL Injections

0 comments on commit 6618d71

Please sign in to comment.