Git Product home page Git Product logo

ctf-challenges's Introduction

CTF Wiki

Discord

中文 English

Welcome to CTF Wiki

CTF (Capture The Flag) started from DEFCON CTF, a competitive game among computer security enthusiasts, originally hosted in 1996.

CTF covers a wide range of fields. Along with the evolving security technology, the difficulty of CTF challenges is getting harder and harder. As a result, the learning curve for beginners is getting steeper. Most online information is scattered and trivial. Beginners often don't know how to systematically learn CTF, which requires a lot of work and effort.

In order to let those people who are interested in CTFs start easily, in October 2016, CTF Wiki was established on Github. Along with gradually improved content over time, CTF Wiki has received lots of appreciation from security enthusiasts, many of those are guys that we think we would never meet.

As a freedom site, primarily focusing on recent CTFs, CTF Wiki introduces the knowledge and techniques in all aspects of CTF to make it easier for beginners to learn CTF.

Now, CTF Wiki mainly contains the basic skills for CTF, but we are working hard to improve the following contents.

  • Advanced skills used in CTF
  • Special topics appearing in CTF

For the above-mentioned parts to be improved, please refer to Projects which details what are planned.

Although now CTF Wiki mainly focus CTF, it is not strictly limited to CTF topics. In the future, CTF Wiki will include

  • Tools used in security research
  • Increased discussion of security in the world

In addition, given the following two points

  • Information about technology should be openly shared.
  • As new techniques are always being developed, old techniques will start to fade over time and they should be replaced with new techniques.

Therefore, CTF Wiki will never publish books.

Finally, originating from the community, as an independent organization, CTF Wiki advocates freedom of knowledge, will never be commercialized, and will always maintain the character of independence and freedom.

How to build?

CTF Wiki uses mkdocs to show its contents. And it is deployed at https://ctf-wiki.org.

It can also be deployed locally, with the following steps:

# 1. clone
git clone https://github.com/ctf-wiki/ctf-wiki.git
# 2. requirements
pip install -r requirements.txt
# generate static file in site/
python3 scripts/docs.py build-all
# deploy at http://127.0.0.1:8008
python3 scripts/docs.py serve

A local instance of mkdocs is dynamically updated, for instance when a markdown file is modified, the corresponding page will be modified too.

If you just want to view it statically, try Docker!

docker run -d --name=ctf-wiki -p 4100:80 ctfwiki/ctf-wiki

And then access http://localhost:4100/ .

How to practice?

Firstly, learn some basic security knowledge through online reading.

Secondly, CTF Wiki has two sister projects.

  • All of the challenges that are mentioned are in the ctf-challenges repository, you can locate them with their corresponding category.
  • The tools mentioned in the CTF Wiki are constantly added to the ctf-tools repository.

How to make CTF Wiki Better?

We welcome to write content for the wiki and share what you have learned.

Before you decide to contribute content, please read CONTRIBUTING.

Thank you to all the people who have already contributed to CTF Wiki.

What can you get?

  • Ability to learn new things quickly
  • Different ways of thinking
  • A love for solving problems
  • Interesting security techniques
  • Memorable and enriching experience

Before reading the Wiki, we hope to give you some advice:

  • Learn to ask smart-questions .
  • Learn to use Google Search for self-improvement.
  • Be good at least one programming language, such as Python.
  • Practice is the most important learning tool.
  • Maintain the passions and desire to learn about new techniques.

The security circle is small and the areas of exploration is vast. Let's get started with CTF Wiki!

ctf-challenges's People

Contributors

40huo avatar angelkitty avatar bash-c avatar cjcslhp avatar dependabot[bot] avatar duo-1337 avatar f4-u57 avatar hitcxy avatar iromise avatar lylemi avatar n3vv avatar puzhuoliu avatar ret2p4nda avatar septyem avatar vancir avatar winmin avatar xmzyshypnc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ctf-challenges's Issues

ret2shellcode.c 用题目提供的执行文件可以,自己编译不能溢出成功!

(https://github.com/ctf-wiki/ctf-challenges/tree/master/pwn/stackoverflow/ret2shellcode/ret2shellcode-example)/ret2shellcode.c
用这个文件编译之后,用给出的方法不行,用题目中提供的执行文件可以。通过gdb发现:
题目给的目标文件:
──────[ DISASM ]────
► 0x8048536 <main+9> mov eax, dword ptr [0x804a060]
0x804853b <main+14> mov dword ptr [esp + 0xc], 0 mov操作
0x8048543 <main+22> mov dword ptr [esp + 8], 2
0x804854b <main+30> mov dword ptr [esp + 4], 0
0x8048553 <main+38> mov dword ptr [esp], eax
0x8048556 <main+41> call setvbuf@plt setvbuf@plt
而自己编译之后这样:
────────────[ DISASM ]─────
► 0x80484f9 <main+14> sub esp, 0x74
0x80484fc <main+17> mov eax, dword ptr [stdout@@GLIBC_2.0] <0x804a044>
0x8048501 <main+22> push 0 push操作
0x8048503 <main+24> push 2
0x8048505 <main+26> push 0
0x8048507 <main+28> push eax
0x8048508 <main+29> call setvbuf@plt setvbuf@plt
造成不能溢出成功
请问题目中的执行文件如何编译的?

ret2shellcode exp没有看到进入控制台的效果

下载了ret2shellcode的代码,执行的效果如下:
[+] Starting local process './bof': pid 55137
[] Switching to interactive mode
No system for you this time !!!
bye bye ~[
] Got EOF while reading in interactive
$ test
[] Process './bof' stopped with exit code -11 (SIGSEGV) (pid 55137)
[
] Got EOF while sending in interactive

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.