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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
recollapse — ब्लैक-बॉक्स रेगेक्स फ़ज़िंग टूल जो इनपुट वैधीकरण को बायपास करने के लिए पेलोड उत्पन्न करता है, सामान्यीकरण की खोज करता है, और वेब अनुप्रयोगों में WAF को चकमा देता है। | Kitploit
उपकरण/GitHubGitHub/0xacb/recollapse
पेलोड जनरेशनWAF बाईपासवेब सुरक्षाफज़िंग
GitHub0xacb/recollapse

recollapse

ब्लैक-बॉक्स रेगेक्स फ़ज़िंग टूल जो इनपुट वैधीकरण को बायपास करने के लिए पेलोड उत्पन्न करता है, सामान्यीकरण की खोज करता है, और वेब अनुप्रयोगों में WAF को चकमा देता है।

रिपॉजिटरी देखें
1.4k150491 साल पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

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

REcollapse

REcollapse वेब अनुप्रयोगों में मान्यताओं को बायपास करने और सामान्यीकरण खोजने के लिए ब्लैक-बॉक्स regex फ़ज़िंग हेतु एक सहायक उपकरण है।

यह WAF और कमजोर कमजोरियों के शमन को बायपास करने में भी सहायक हो सकता है। अधिक जानकारी के लिए, REcollapse ब्लॉग पोस्ट देखें।

इस उपकरण का लक्ष्य परीक्षण के लिए पेलोड उत्पन्न करना है। वास्तविक फ़ज़िंग अन्य उपकरणों जैसे Burp (intruder), Caido (automate), ffuf, या समान के साथ की जानी चाहिए।


स्थापना

आवश्यकताएँ: Python 3

pip3 install recollapse या python3 setup.py install या pip3 install .

Docker

docker build -t recollapse . या docker pull 0xacb/recollapse


उपयोग

root@kitploit:~
$ recollapse -h
usage: recollapse [-h] [-m MODES] [-e {1,2,3,4}] [-r RANGE] [-s SIZE] [-f FILE] [-an] [-mn MAXNORM] [-mt MAXTRUNC] [-nt] [-tt] [-ct]
                  [--html] [--version]
                  [input]

REcollapse is a helper tool for black-box regex fuzzing to bypass validations and discover normalizations in web applications

positional arguments:
  input                 original input

options:
  -h, --help            show this help message and exit
  -m, --modes, -p, --positions MODES
                        variation modes. Example: 1,2,3,4,5,6,7 (default). 1: starting, 2: separator, 3: normalization, 4:
                        termination, 5: regex metacharacters, 6: case folding/upper/lower, 7: byte truncation
  -e, --encoding {1,2,3,4}
                        1: URL-encoded format (default), 2: Unicode format, 3: Raw format, 4: Double URL-encoded format
  -r, --range RANGE     range of bytes for fuzzing. Example: 0,0xff (default)
  -s, --size SIZE       number of fuzzing bytes (default: 1)
  -f, --file FILE       read input from file
  -an, --alphanum       include alphanumeric bytes in fuzzing range
  -mn, --maxnorm MAXNORM
                        maximum number of normalizations (default: 3)
  -mt, --maxtrunc MAXTRUNC
                        maximum number of truncations (default: 3)
  -nt, --normtable      print normalization table
  -tt, --trunctable     print truncation table
  -ct, --casetable      print case table
  --html                output tables in HTML format
  --version             show recollapse version

विकल्पों की विस्तृत व्याख्या

आइए this_is.an_example को इनपुट मानें।

मोड

  1. इनपुट की शुरुआत को फ़ज़ करें: $this_is.an_example
  2. विशेष वर्णों से पहले और बाद में फ़ज़ करें: this$_$is$.$an$_$example
  3. सामान्यीकरण स्थानों को फ़ज़ करें: सामान्यीकरण तालिका के अनुसार सभी संभावित बाइट्स को बदलें
  4. इनपुट के अंत को फ़ज़ करें: this_is.an_example$
  5. regex मेटाकैरेक्टर को फ़ज़ करें: सभी संभावित regex मेटाकैरेक्टर बदलें: .^$*+-?()[]{}\|
  6. केस फोल्डिंग/अपर/लोअर को फ़ज़ करें: केस तालिका के अनुसार सभी संभावित बाइट्स को बदलें
  7. बाइट ट्रंकेशन को फ़ज़ करें: ट्रंकेशन तालिका के अनुसार सभी संभावित बाइट्स को बदलें

एन्कोडिंग

  1. URL-एन्कोडेड प्रारूप application/x-www-form-urlencoded या क्वेरी/बॉडी पैरामीटर के साथ उपयोग के लिए: %22this_is.an_example
  2. Unicode प्रारूप application/json के साथ उपयोग के लिए: \u0022this_is.an_example
  3. कच्चा प्रारूप multipart/form-data के साथ उपयोग के लिए: "this_is.an_example
  4. डबल URL-एन्कोडेड प्रारूप

सीमा

फ़ज़िंग के लिए बाइट्स की एक सीमा निर्दिष्ट करें: -r 1-127. यह अल्फ़ान्यूमेरिक वर्णों को बाहर करेगा जब तक कि -an विकल्प प्रदान न किया जाए।

आकार

मोड 1, 2 और 4 के लिए फ़ज़िंग का आकार निर्दिष्ट करें। डिफ़ॉल्ट दृष्टिकोण एक बाइट के लिए सभी संभावित मानों को फ़ज़ करना है। आकार बढ़ाने से अधिक संसाधनों की खपत होगी और बहुत अधिक इनपुट उत्पन्न होंगे, लेकिन इससे नए बायपास खोजने में मदद मिल सकती है।

फ़ाइल

इनपुट को एक स्थितीय तर्क, stdin, या -f विकल्प के माध्यम से फ़ाइल के रूप में प्रदान किया जा सकता है।

अल्फ़ान्यूमेरिक

डिफ़ॉल्ट रूप से, अल्फ़ान्यूमेरिक वर्णों को आउटपुट जनरेशन से बाहर रखा जाएगा, जो आमतौर पर प्रतिक्रियाओं के संदर्भ में दिलचस्प नहीं होता है। आप -an विकल्प के साथ इसकी अनुमति दे सकते हैं।

सामान्यीकरणों की अधिकतम संख्या

सभी सामान्यीकरण लाइब्रेरीज़ का व्यवहार समान नहीं होता। डिफ़ॉल्ट रूप से, प्रत्येक इनपुट इंडेक्स के लिए तीन सामान्यीकरण संभावनाएं उत्पन्न की जाती हैं, जो आमतौर पर पर्याप्त होती हैं। आगे जाने के लिए -mn विकल्प का उपयोग करें।

तालिकाएँ

सामान्यीकरण तालिका दिखाने के लिए -nt विकल्प, केस तालिका दिखाने के लिए -ct विकल्प, और ट्रंकेशन तालिका दिखाने के लिए -tt विकल्प का उपयोग करें। आप तालिकाओं को HTML प्रारूप में आउटपुट करने के लिए --html विकल्प का भी उपयोग कर सकते हैं।

root@kitploit:~
$ recollapse -nt --html > normalization_table.html
$ recollapse -tt --html > truncation_table.html
$ recollapse -ct --html > case_table.html

उदाहरण

कमांड-लाइन टूल के रूप में Recollapse का उपयोग करना:

root@kitploit:~
$ recollapse -e 1 -m 1,2,4 -r 10-11 https://legit.example.com
%0ahttps://legit.example.com
%0bhttps://legit.example.com
https%0a://legit.example.com
https%0b://legit.example.com
...

$ echo "[email protected]" | recollapse 
%[email protected]
%[email protected]
...

$ echo "<svg/onload=alert(1)>" | recollapse | ffuf -w - -u "https://example.com/?param=FUZZ" -mc 200,403,500

लाइब्रेरी के रूप में Recollapse का उपयोग करना:

root@kitploit:~
from recollapse import Recollapse

recollapse = Recollapse(modes=Recollapse.DEFAULT_MODES,
                        encoding=Recollapse.ENCODING_RAW)
variants = recollapse.generate("<script")
for variant in variants:
    print(variant)

संसाधन

यह तकनीक मूल रूप से BSidesLisbon 2022 में प्रस्तुत की गई थी।

ब्लॉग पोस्ट: https://0xacb.com/2022/11/21/recollapse/

स्लाइड्स:

  • nahamcon_2022_eu_till_recollapse.pdf
  • bsideslisbon_2022_till_recollapse.pdf

वीडियोज़:

  • NahamCon 2022 EU
  • BSidesLisbon 2022

तालिकाएँ:

  • सामान्यीकरण तालिका: https://0xacb.com/normalization_table
  • केस तालिका: https://0xacb.com/case_table
  • ट्रंकेशन तालिका: https://0xacb.com/truncation_table

धन्यवाद

  • @regala_
  • @0xz3z4d45
  • @jllis
  • @samwcyo
  • @yassineaboukir
  • @0xteknogeek
  • @vgpinho
  • @ryancbarnett
  • BBAC

और

  • @ethiack टीम
  • @0xdisturbance टीम
  • @hacker0x01 टीम

⚠ कानूनी अस्वीकरण ⚠

यह परियोजना केवल शैक्षिक और नैतिक परीक्षण उद्देश्यों के लिए बनाई गई है। पूर्व आपसी सहमति के बिना लक्ष्यों पर हमला करने के लिए इस उपकरण का उपयोग अवैध है। डेवलपर्स कोई देयता नहीं लेते हैं और इस उपकरण के किसी भी दुरुपयोग या हानि के लिए जिम्मेदार नहीं हैं।

टूल डाउनलोड करें