
एक wordlist फ्रेमवर्क जो आपकी wordlists के साथ आपकी खास जरूरतों को पूरा करता है। सुरक्षा शोधकर्ताओं, बग बाउंटी और हैकर्स के लिए।
एक अत्यधिक शक्तिशाली वर्डलिस्ट जनरेटर, स्प्लिटर, मर्जर, फाइंडर, सेवर, शब्दों का क्रमचय और संयोजन बनाएँ, विभिन्न एन्कोडिंग/डिकोडिंग लागू करें और वह सब कुछ जो आपको चाहिए।
निराशा हत्यारा! और अनुकूलन योग्य!
* और **Go का उपयोग करें या नवीनतम बिल्ड डाउनलोड करें
go install -v github.com/glitchedgitz/cook/v2/cmd/cook@latest
संस्करण v2.2 से cook cook-ingredients को $home/.config/cook/cook-ingredients पर सहेजता है
बदलने के लिए पथ वेरिएबल का नाम
COOK=[आपका पथ]बनाएँ
बुनियादी चीजों के बिना, सब कुछ जटिल है।

उन्हें कुछ भी नाम दें और पैटर्न उत्पन्न करने के लिए उपयोग करें। यह तब और अधिक उपयोगी होगा जब आप विधियों का उपयोग करके कॉलम-वार एन्कोडिंग लागू करते हैं।
cook -start intigriti,bugcrowd -sep _,- -end users.rar,secret.zip / start sep end
नोट: आपको पैटर्न में पैराम शामिल करना होगा, अन्यथा यह कुछ भी प्रिंट नहीं करेगा।
Cook cook-ingredients पर निर्भर करता है, जो .yaml फ़ाइलों का संग्रह है जिसमें वर्डसेट, फ़ंक्शन, पोर्ट, assetnotes, seclist, fuzzdb से वर्डलिस्ट, 15+ आदि शामिल हैं।
my.yaml में सहेजें
cook -dob date[17,Sep,1994] elliot _,-, dob
my.yaml को अनुकूलित करेंmy.yaml को मैन्युअल रूप से संपादित करें या इन कमांड का उपयोग करें।
यदि keyword मौजूद नहीं है तो यह इसे बनाएगा। अन्यथा यह इसे अपडेट करेगा और उसी वेरिएबल में नया मान जोड़ेगा।
# सिंटैक्स
cook add [keyword]=[value1, value2, ..., valueN] in [category]
# कमांड
cook add unique_name=word1,word2,word3 in lists
cook delete [keyword]
पैराम नाम के बाद : का उपयोग करें।
cook -f: live.txt f
cook -f: https://example.com/wordlist.txt f
Cook ने कई रिपॉजिटरी लाए हैं और इन रिपॉजिटरी से वर्डलिस्ट का सीधे उपयोग कर सकता है...
assetnotes, seclist, fuzzdb, आदि।
विधियों का उपयोग करके आप एन्कोड, डिकोड, रिवर्स, स्प्लिट, सॉर्ट, एक्सट्रैक्ट कर सकते हैं और बहुत कुछ कर सकते हैं...
विधियों को अंतिम आउटपुट या कॉलम-वार लागू किया जा सकता है
-m/-method अंतिम आउटपुट पर विधियाँ लागू करने के लिए-mc/-methodcol कॉलम-वार लागू करने के लिएparam.methodname किसी भी पैरामीटर-वार लागू करें, इस पैराम चीज़ को बाद में उदाहरण देंगे।
. का उपयोग करेंmd5.b64e.urle एक-एक करके कई विधियाँ लागू करता है।उत्पन्न पैटर्न > md5 हैशिंग > base 64 एन्कोडिंग > URL एन्कोडिंग, का उपयोग करेंmd5,sha1,sha256 एक ही उत्पन्न पैटर्न पर विभिन्न एन्कोडिंग लागू करता है।उत्पन्न पैटर्न > md5 हैशिंगउत्पन्न पैटर्न > sha1 हैशिंगउत्पन्न पैटर्न >
इन 2 विधियों पर विशेष ध्यान दें, ये हर बार जब आप किसी वर्डलिस्ट का उपयोग करेंगे तो बहुत मददगार होंगी।
-m smart▶ cook adminNew,admin_new -m smart
आउटपुट:
admin
New
admin
new
-m smartjoin[<case>:<char>]यह तोड़ता है और आपूर्ति किए गए कैरेक्टर के साथ वापस जोड़ता है।
▶ cook adminNew,admin-old -m smartjoin[:_]
आउटपुट:
admin_New
admin_old
अलग किए गए पर केस लागू करें
यहाँ हमने कैमलकेस लागू किया।
▶ cook suppose_this_is_long_text -m smartjoin[c:_]
आउटपुट:
suppose_This_Is_Long_Text
cook help methodssort - उन्हें क्रमबद्ध करें
sortu - केवल अद्वितीय मानों के साथ क्रमबद्ध करें
reverse - स्ट्रिंग को उल्टा करें
leet - a->4, b->8, e->3 ...
leet[0] or leet[1]
smart - नामकरण परंपराओं के साथ शब्दों को अलग करें
redirectUri, redirect_uri, redirect-uri -> [redirect, uri]
smartjoin - यह नामकरण परंपराओं से शब्दों को विभाजित करेगा और
param.smartjoin[c,_] (case, join)
redirect-uri, redirectUri, redirect_uri -> redirect_Uri
u upper - अपरकेस
l lower - लोअरकेस
t title - टाइटलकेस
split - split[char]
splitindex - splitindex[char:index]
replace - सभी बदलें replace[this:tothis]
json - JSON फ़ील्ड निकालें
json[key] or json[key:subkey:sub-subkey]
fb filebase - पथ या URL से फ़ाइल नाम निकालें
s scheme - URL से http, https, gohper, ws, आदि निकालें
user - URL से उपयोगकर्ता नाम निकालें
pass - URL से पासवर्ड निकालें
h host - URL से होस्ट निकालें
p port - URL से पोर्ट निकालें
ph path - URL से पथ निकालें
f fragment - URL से फ़्रैगमेंट निकालें
q query - URL से पूरा क्वेरी निकालें
k keys - URL से कुंजियाँ निकालें
v values - URL से मान निकालें
d domain - URL से डोमेन निकालें
tld - URL से tld निकालें
alldir - URL के पथ से सभी निर्देशिकाएँ निकालें
sub subdomain - URL से सबडोमेन निकालें
allsubs - URL से सबडोमेन निकालें
b64e b64encode - Base64 एन्कोड
b64d b64decode - Base64 डिकोड
charcode - कैरेक्टर कोड एन्कोडिंग दें
- charcode[0]
abc
- charcode[1] सेमीकोलन के साथ
abc
hexe hexencode - हेक्स स्ट्रिंग एन्कोड
hexd hexdecode - हेक्स स्ट्रिंग डिकोड
jsone jsonescape - JSON एस्केप
jsonu jsonunescape - JSON अनएस्केप
urle urlencode - URL आरक्षित कैरेक्टर एन्कोड करें
utf16 - UTF-16 एन्कोडर (लिटिल एंडियन)
utf16be - UTF-16 एन्कोडर (बिग एंडियन)
urld urldecode - URL डिकोड
urleall urlencodeall - सभी कैरेक्टर एन्कोड करें
xmle xmlescape - XML एस्केप
xmlu xmlunescape - XML अनएस्केप
unicodee unicodeencodeall - यूनिकोड एस्केप स्ट्रिंग एन्कोड (सभी कैरेक्टर)
unicoded unicodedecode - यूनिकोड एस्केप स्ट्रिंग डिकोड
md5 - MD5 sum
sha1 - SHA1 चेकसम
sha224 - SHA224 चेकसम
sha256 - SHA256 चेकसम
sha384 - SHA384 चेकसम
sha512 - SHA512 चेकसम
कुक की समझ विकसित करने के लिए कुछ सामान्य उपयोग के मामले।
-append फ़्लैग का उपयोग करें:
cook -l: live.txt -p: payloads.txt l / p -append 2
# एकाधिक कॉलम
cook col1 col2 col3 col4 col5 -append 2,5
नोट: कभी-कभी कॉलम का इंडेक्स खोजना भ्रमित करने वाला होता है, तो -col का उपयोग करें
यदि आप प्रति क्रमचय डेटा प्रिंट करना शुरू करना चाहते हैं, तो -min फ़्लैग का उपयोग करें
नोट: कभी-कभी कॉलम का इंडेक्स खोजना भ्रमित करने वाला होता है, तो -col का उपयोग करें
पैटर्न उत्पन्न करें और PIPE का उपयोग करके अन्य टूल्स के साथ संयोजित करें।
cook [उत्पन्न पैटर्न] | [पाइप इनपुट वाला कोई भी टूल]
cook usernames_list : passwords_list -m b64e | ffuf -u https://target.com -w - -H "Authorization: Basic FUZZ"
cook https://target.com/**100 | ffuf -u FUZZ -w -
cook [जनरेटेड आउटपुट] | x8 -u https://target.com
cook example.com seclists-tlds.txt | dnsx -v
बहुत शक्तिशाली? लेकिन रोज़ आप अजीब BB चीज़ों के सामने आते हैं, जैसे टार्गेट से एक बड़ी JSON फ़ाइल? हो सकता है आप निकालना, जोड़ना, मर्ज करना या जो भी चाहते हों। आप अपने उपयोग के अनुसार cook का स्मार्ट उपयोग कर सकते हैं।
BBH के रूप में, हम अक्सर JSON फ़ाइल के सामने आते हैं। हो सकता है आप अपने संग्रह में सहेजने के लिए वर्डलिस्ट ढूँढ़ना पढ़ते हों।
मान लें आप IIS शॉर्टनेम भेद्यता के बारे में यह ब्लॉग पढ़ते हैं https://blog.assetnote.io/2020/09/18/finding-hidden-files-folders-iis-bigquery/.
यहाँ Assetnote ने बड़ी ZIP फ़ाइल साझा की, अब आपको कुछ चाहिए जो इस फ़ाइल को सहेज सके और जब आवश्यकता हो तो आप इसे याद कर सकें।
इसे इस तरह सहेजें..., यह फ़ाइल my.yaml में सहेजेगा
cook add shub_zip_files=[URL] in files
या मैन्युअल रूप से my.yaml में सहेजें,
shub_zip_files: [https://storage.googleapis.com/zipfilesbq/zipfiles.json]
नोट: cook ने इसे पहले से ही डिफ़ॉल्ट वर्डलिस्ट में सहेज लिया है, आप इसे एक्सेस करने के लिए
cook shub_zip_filesका उपयोग कर सकते हैं
▸ फ़ाइल में इस प्रकार का डेटा है, लेकिन यह सीधे उपयोगी नहीं है।
{"repo_name":"cocowool/RoseCMS","ref":"refs/heads/1","path":"user_guide/_downloads/ELDocs.tmbundle.zip","mode":"33261","id":"f7a11b364ca918379b48ad525798148e7470b6b1"}
{"repo_name":"xuguanfeng/practise","ref":"refs/heads/1","path":"node_modules/selenium-webdriver/node_modules/adm-zip/test/assets/fast.zip","mode":"33188","id":"f4ed17b98c9d7bcd21efc4523ce75fbe2b071d0a"}
{"repo_name":"xuguanfeng/practise","ref":"refs/heads/1","path":"node_modules/selenium-webdriver/node_modules/adm-zip/test/assets/store.zip","mode":"33188","id":"e2add30dc0e3129dc89e20a71abe7314052d0002"}
{"repo_name":"xuguanfeng/practise","ref":"refs/heads/1","path":"node_modules/selenium-webdriver/node_modules/adm-zip/test/assets/ultra.zip","mode":"33188","id":"86a8ec776107c075ce2c7f803472aa97dc25cbf7"}
{"repo_name":"xuguanfeng/practise","ref":"refs/heads/1","path":"node_modules/selenium-webdriver/node_modules/adm-zip/test/assets/normal.zip","mode":"33188","id":"b4602c94ee000ee54c71c9302b9db956b3fd9f0e"}
{"repo_name":"xuguanfeng/practise","ref":"refs/heads/1","path":"node_modules/selenium-webdriver/node_modules/adm-zip/test/assets/fastest.zip","mode":"33188","id":"f4ed17b98c9d7bcd21efc4523ce75fbe2b071d0a"}
{"repo_name":"xuguanfeng/practise","ref":"refs/heads/1","path":"node_modules/selenium-webdriver/node_modules/adm-zip/test/assets/maximum.zip","mode":"33188","id":"86a8ec776107c075ce2c7f803472aa97dc25cbf7"}
...
मान लें आपको चाहिए:
▸ JSON फ़ील्ड path निकालें
▸ path से filebase निकालें
▸ फिर नामकरण परंपराओं के आधार पर इसे विभाजित करें
▸ Cook के साथ हम न केवल इसे निकाल सकते हैं, हम पथ से filebase निकाल सकते हैं और अद्वितीय क्रमबद्ध कर सकते हैं, फिर smartjoin का उपयोग करके विभिन्न क्रमचय बना सकते हैं।
cook -z shub_zip_files z.json[path].fb.sortu.smartjoin[c:_]
और इसी तरह cook का जन्म हुआ, IIS शॉर्टनेम को फ़ज़ करने के दौरान और बाद में मैंने अन्य सुविधाएँ जोड़ीं।
* और *** का उपयोग करें।** का उपयोग करें।*10-1 या यह *1-10।
आप अपने Go प्रोजेक्ट्स में Cook को लाइब्रेरी के रूप में उपयोग कर सकते हैं।
package main
import (
"fmt"
"github.com/glitchedgitz/cook/v2/pkg/cook"
)
func main() {
// एक नया cook इंस्टेंस बनाएँ
cookInst := cook.New(&cook.COOK{
Pattern: []string{"a,b,c", "1,2,3"},
PrintResult: false, // stdout पर प्रिंट न करें
})
// पैटर्न उत्पन्न करें
cookInst.Generate()
fmt.Println("उत्पन्न पैटर्न:", cookInst.Final)
}
एकाधिक पैटर्न उत्पन्न करने के लिए हर बार संसाधनों को पुनः आरंभ न करने के लिए:
package main
import (
"fmt"
"github.com/glitchedgitz/cook/v2/pkg/cook"
)
func main() {
// एक जनरेटर बनाएँ जो एक बार साझा संसाधनों को प्रारंभ करता है
generator := cook.NewGenerator()
// कुशलतापूर्वक एकाधिक पैटर्न उत्पन्न करें
list1 := generator.Generate([]string{"a,b,c", "1,2,3"})
list2 := generator.Generate([]string{"admin", "password-2023"})
fmt.Println("पैटर्न 1:", list1)
fmt.Println("पैटर्न 2:", list2)
}
जनरेटर समवर्ती पैटर्न जनरेशन का भी समर्थन करता है:
package main
import (
"fmt"
"sync"
"github.com/glitchedgitz/cook/v2/pkg/cook"
)
func main() {
generator := cook.NewGenerator()
patterns := [][]string{
{"user-1-5", "pass-1-3"},
{"admin", "Admin-2023-2025"},
}
var wg sync.WaitGroup
results := make([][]string, len(patterns))
// समवर्ती रूप से पैटर्न उत्पन्न करें
for i, pattern := range patterns {
wg.Add(1)
go func(idx int, p []string) {
defer wg.Done()
results[idx] = generator.Generate(p)
}(i, pattern)
}
wg.Wait()
// परिणामों का उपयोग करें
for i, r := range results {
fmt.Printf("पैटर्न %d ने %d परिणाम उत्पन्न किए\n", i, len(r))
}
}
लाइब्रेरी का उपयोग करके cook-ingredients खोजें:
package main
import (
"fmt"
"github.com/glitchedgitz/cook/v2/pkg/cook"
)
func main() {
cookInst := cook.NewWithoutConfig()
results := cookInst.Search("api")
fmt.Printf("खोजे गए API पैटर्न: %v\n", results)
}
cook file1 =/= file2, सुनिश्चित करें कि कैरेक्टर सभी टर्मिनलों के साथ सीधे काम करें।| श्रेणी | विवरण |
|---|
lists | मानों की सरणी जिनका सीधे उपयोग किया जा सकता है |
files | URL की सरणी |
ports | संख्याओं की श्रेणी |
raw-files | स्थानीय फ़ाइलों की सरणी |
functions | फ़ंक्शन पैटर्न उत्पन्न करने के लिए उपयोग किए जाते हैं |
sha256 हैशिंग| कॉलम | स्थान द्वारा अलग किए गए |
| मान | कॉमा द्वारा अलग किए गए |
| पैराम | आप पैराम को कोई भी नाम दे सकते हैं, किसी भी चीज़ से पहले - का उपयोग करें ताकि इसे पैराम बनाया जा सके -param value |
| रॉ स्ट्रिंग | cook के पार्सिंग को रोकने के लिए स्ट्रिंग के पहले और बाद में का उपयोग करें। तब उपयोगी जब आप किसी कीवर्ड को शब्द के रूप में उपयोग करना चाहते हैं। |
| पाइप इनपुट | किसी भी पैराम के मान के रूप में - का उपयोग करके पाइप इनपुट लें। |
| फ़ाइल इनपुट | फ़ाइल इनपुट लेने के लिए पैराम नाम के बाद : का उपयोग करें। cook -f: live.txt f |
| फ़ंक्शन | केवल पैराम का उपयोग करके बुलाया जा सकता है। |
| विधियाँ | पैराम या अंतिम आउटपुट पर उपयोग किया जा सकता है |
| फ़्लैग | उपयोग |
|---|
| -peek | पहली 50 पंक्तियों के लिए -peek 50 का उपयोग करके आउटपुट देखें |
| -a, -append | क्रमचय के बजाय पिछली पंक्तियों में जोड़ें |
| -c, -col | कॉलम संख्या और उनके मान प्रिंट करें |
| -conf, -config | कॉन्फ़िग जानकारी |
| -mc, -methodcol | कॉलम वार विधियाँ लागू करें -mc 0:md5,b64e; 1:reverse सभी कॉलम के लिए अलग से -mc md5,b64e |
| -m, -method | अंतिम आउटपुट पर विधियाँ लागू करें |
| -h, -help | सहायता |
| -min | प्रिंट करने के लिए न्यूनतम कॉलम की संख्या |