LiveCTF 2022
DEF CON CTF फाइनल LiveCTF इवेंट के लिए चुनौतियों, इन्फ्रास्ट्रक्चर नोट्स, स्ट्रीमिंग कॉन्फ़िगरेशन और अन्य संस्करण-नियंत्रित जानकारी के टुकड़ों को संग्रहीत करने के लिए रिपॉजिटरी।
LiveCTF में उपयोग की गई चुनौतियाँ
| # | चुनौती का नाम | प्रतियोगी | विजेता |
|---|
| 16 का राउंड: 1 | syscall-me-maybe | Shellphish बनाम PTB_WTL | Shellphish |
| 16 का राउंड: 2 | open-to-interpretation | StarBugs बनाम ./V /home/r/.bin/tw | StarBugs |
| 16 का राउंड: 3 | nopcoding | OSUSEC बनाम Maple Mallard Magistrates | Maple Mallard Magistrates |
| 16 का राउंड: 4 | nerd-sniped | the new organizers बनाम [email protected] | the new organizers |
| 16 का राउंड: 5 | fairy-nuff | DiceGuesser बनाम Sauercloud | Sauercloud |
| 16 का राउंड: 6 | seek-and-destroy | 侍 बनाम perfect r✪✪✪t | perfect r✪✪✪t |
| 16 का राउंड: 7 | nvulns | r3kapig बनाम Water Paddler | r3kapig |
| 16 का राउंड: 8 | quick-cast | Katzebin बनाम Straw Hat | Straw Hat |
| क्वार्टर फाइनल: 1 | story-time | StarBugs बनाम the new organizers | StarBugs |
| क्वार्टर फाइनल: 2 | stacks | Shellphish बनाम Maple Mallard Magistrates | Maple Mallard Magistrates |
| क्वार्टर फाइनल: 3 | pacman |
चुनौती बाइनरी
यदि आप प्रत्येक राउंड के दौरान उपयोग किए गए सटीक चुनौती बाइनरी पर खेलने में रुचि रखते हैं, तो आप या तो उन्हें नीचे बताए अनुसार स्वयं बना सकते हैं, या रिलीज़ के handouts/ सबफ़ोल्डर में देख सकते हैं।
चुनौती संरचना
├── <challenge>
│ ├── challenge
│ │ ├── build.sh # Commands for building challenge binary/binaries and handout
│ │ ├── config.toml # Config file for flag submitter
│ │ ├── Dockerfile # Dockerfile for building challenge image
│ │ ├── run.sh # Command(s) to start the challenge
│ │ └── src # This is where the source for the challenge will go
│ │ └── challenge.c
│ └── solution
│ ├── requirements.txt # Solution script requirements
│ └── solve.py # Challenge solve script
चुनौतियाँ बनाना
./livectf.py build <challenge>
चुनौतियों का प्रबंधन
चुनौती प्रबंधन (निर्माण/बनाना/शुरू करना/रोकना) livectf.py के माध्यम से किया जाता है, जो docker के चारों ओर एक हल्का रैपर है। उपयोग के लिए ./livectf.py --help देखें।
चुनौती जोड़ना
./livectf.py create <challenge> टेम्पलेट चुनौती को एक नई चुनौती निर्देशिका में कॉपी करेगा।
- अपना चुनौती स्रोत
<challenge>/challenge/src में जोड़ें।
<challenge>/solution/solve.py में समाधान स्क्रिप्ट अपडेट करें।
(उन चुनौतियों के लिए जिनमें एक से अधिक स्रोत फ़ाइल + एक बाइनरी शामिल है):
- यदि आवश्यक हो, तो किसी भी अतिरिक्त बिल्ड/रनटाइम निर्भरता को शामिल करने के लिए
<challenge>/challenge/Dockerfile में REQUIRED_PACKAGES संपादित करें।
- यदि आवश्यक हो, तो
<challenge>/challenge/build.sh में बिल्ड कमांड बदलें।
- यदि आवश्यक हो, तो
<challenge>/challenge/build.sh में HANDOUT_FILES बदलें।
किसी चुनौती के लिए समाधान जोड़ना
- कोई भी pip आवश्यकताएँ
<challenge>/solution/requirements.txt में जोड़ें।
- अपनी समाधान स्क्रिप्ट
<challenge>/solution/solve.py में रखें।