
एक उन्नत वेब निर्देशिका और फ़ाइल स्कैनिंग उपकरण जो DirBuster, Dirsearch, cansina और Yu Jian से अधिक शक्तिशाली होगा।
एक उन्नत वेब निर्देशिका स्कैनिंग टूल, जो DirBuster, Dirsearch, cansina, Yujian से अधिक शक्तिशाली होगा

व्यापक शोध के बाद, यह निष्कर्ष निकला है कि एक अच्छे वेब निर्देशिका स्कैनिंग टूल में कम से कम निम्नलिखित विशेषताएं होनी चाहिए:
अब आइए Dirmap की विशेषताओं पर नज़र डालते हैं
git clone https://github.com/H4ckForJob/dirmap.git && cd dirmap && python3 -m pip install -r requirement.txt
एकल लक्ष्य, डिफ़ॉल्ट http
python3 dirmap.py -i https://target.com -lcf
python3 dirmap.py -i 192.168.1.1 -lcf
सबनेट (CIDR प्रारूप)
python3 dirmap.py -i 192.168.1.0/24 -lcf
नेटवर्क रेंज
python3 dirmap.py -i 192.168.1.1-192.168.1.100 -lcf
python3 dirmap.py -iF targets.txt -lcf
targets.txt में उपरोक्त प्रारूप समर्थित हैं
output फ़ोल्डर में सहेजे जाएंगेलक्ष्य डोमेन.txt हैकस्टम dirmap कॉन्फ़िगरेशन, dirmap की उन्नत सुविधाओं का अन्वेषण शुरू करें
फिलहाल विस्तृत कॉन्फ़िगरेशन के लिए कॉन्फ़िगरेशन फ़ाइल लोड करने की विधि अपनाई गई है, कमांड लाइन पैरामीटर का उपयोग करके विस्तृत कॉन्फ़िगरेशन समर्थित नहीं है!
प्रोजेक्ट रूट निर्देशिका के अंतर्गत dirmap.conf को संपादित करें और कॉन्फ़िगर करें
dirmap.conf कॉन्फ़िगरेशन विवरण
#रिकर्सिव स्कैन प्रोसेसिंग कॉन्फ़िगरेशन
[RecursiveScan]
#रिकर्सिव स्कैन सक्षम करें: बंद: 0; चालू: 1
conf.recursive_scan = 0
#इन स्टेटस कोडों का सामना करने पर, रिकर्सिव स्कैन चालू करें। डिफ़ॉल्ट कॉन्फ़िगरेशन [301,403]
conf.recursive_status_code = [301,403]
#URL इस लंबाई से अधिक होने पर स्कैन से बाहर निकलें
conf.recursive_scan_max_url_length = 60
#ये एक्सटेंशन रिकर्सिव स्कैन न करें
conf.recursive_blacklist_exts = ["html",'htm','shtml','png','jpg','webp','bmp','js','css','pdf','ini','mp3','mp4']
#स्कैन से बाहर करने के लिए निर्देशिका सेट करें। डिफ़ॉल्ट कॉन्फ़िगरेशन खाली। अन्य कॉन्फ़िगरेशन: जैसे: ['/test1','/test2']
#conf.exclude_subdirs = ['/test1','/test2']
conf.exclude_subdirs = ""
#स्कैन मोड प्रोसेसिंग कॉन्फ़िगरेशन (4 मोड, एक बार में केवल 1 चुना जा सकता है)
[ScanModeHandler]
#डिक्शनरी मोड: बंद: 0; एकल डिक्शनरी: 1; एकाधिक डिक्शनरी: 2
conf.dict_mode = 1
#एकल डिक्शनरी मोड का पथ
conf.dict_mode_load_single_dict = "dict_mode_dict.txt"
#एकाधिक डिक्शनरी मोड का पथ, डिफ़ॉल्ट कॉन्फ़िगरेशन dictmult
conf.dict_mode_load_mult_dict = "dictmult"
#ब्रूट फोर्स मोड: बंद: 0; चालू: 1
conf.blast_mode = 0
#डिक्शनरी उत्पन्न करने के लिए न्यूनतम लंबाई। डिफ़ॉल्ट कॉन्फ़िगरेशन 3
conf.blast_mode_min = 3
#डिक्शनरी उत्पन्न करने के लिए अधिकतम लंबाई। डिफ़ॉल्ट कॉन्फ़िगरेशन 3
conf.blast_mode_max = 3
#डिफ़ॉल्ट कैरेक्टर सेट: a-z। अभी उपयोग नहीं किया गया है।
conf.blast_mode_az = "abcdefghijklmnopqrstuvwxyz"
#डिफ़ॉल्ट कैरेक्टर सेट: 0-9। अभी उपयोग नहीं किया गया है।
conf.blast_mode_num = "0123456789"
#कस्टम कैरेक्टर सेट। डिफ़ॉल्ट कॉन्फ़िगरेशन "abc"। abc का उपयोग करके डिक्शनरी बनाएं
conf.blast_mode_custom_charset = "abc"
#कस्टम जारी रखने वाला कैरेक्टर सेट। डिफ़ॉल्ट कॉन्फ़िगरेशन खाली।
conf.blast_mode_resume_charset = ""
#क्रॉलर मोड: बंद: 0; चालू: 1
conf.crawl_mode = 0
#डायनेमिक संवेदनशील फ़ाइल पेलोड उत्पन्न करने के लिए एक्सटेंशन डिक्शनरी
conf.crawl_mode_dynamic_fuzz_suffix = "crawl_mode_suffix.txt"
#robots.txt फ़ाइल पार्स करें। अभी लागू नहीं किया गया है।
conf.crawl_mode_parse_robots = 0
#html पेजों को पार्स करने के लिए xpath एक्सप्रेशन
conf.crawl_mode_parse_html = "//*/@href | //*/@src | //form/@action"
#क्या डायनेमिक क्रॉलर डिक्शनरी जनरेशन करना है। डिफ़ॉल्ट कॉन्फ़िगरेशन 1, क्रॉलर डायनेमिक डिक्शनरी जनरेशन चालू करें। अन्य कॉन्फ़िगरेशन: जैसे: बंद:0; चालू:1
conf.crawl_mode_dynamic_fuzz = 1
#फ़ज़ मोड: बंद: 0; एकल डिक्शनरी: 1; एकाधिक डिक्शनरी: 2
conf.fuzz_mode = 0
#एकल डिक्शनरी मोड का पथ।
conf.fuzz_mode_load_single_dict = "fuzz_mode_dir.txt"
#एकाधिक डिक्शनरी मोड का पथ। डिफ़ॉल्ट कॉन्फ़िगरेशन: fuzzmult
conf.fuzz_mode_load_mult_dict = "fuzzmult"
#फ़ज़ टैग सेट करें। डिफ़ॉल्ट कॉन्फ़िगरेशन {dir}। {dir} टैग को डिक्शनरी इंसर्शन पॉइंट के रूप में उपयोग करें, http://target.com/{dir}.php को http://target.com/डिक्शनरी की प्रत्येक पंक्ति.php से बदलें। अन्य कॉन्फ़िगरेशन: जैसे: {dir}; {ext}
#conf.fuzz_mode_label = "{ext}"
conf.fuzz_mode_label = "{dir}"
#पेलोड प्रोसेसिंग कॉन्फ़िगरेशन। अभी लागू नहीं किया गया है।
[PayloadHandler]
#अनुरोध प्रोसेसिंग कॉन्फ़िगरेशन
[RequestHandler]
#कस्टम अनुरोध हेडर। डिफ़ॉल्ट कॉन्फ़िगरेशन खाली। अन्य कॉन्फ़िगरेशन: जैसे: test1=test1,test2=test2
#conf.request_headers = "test1=test1,test2=test2"
conf.request_headers = ""
#कस्टम अनुरोध User-Agent। डिफ़ॉल्ट कॉन्फ़िगरेशन क्रोम का ua।
conf.request_header_ua = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"
#कस्टम अनुरोध कुकी। डिफ़ॉल्ट कॉन्फ़िगरेशन खाली, कुकी सेट नहीं करता। अन्य कॉन्फ़िगरेशन जैसे: cookie1=cookie1; cookie2=cookie2;
#conf.request_header_cookie = "cookie1=cookie1; cookie2=cookie2"
conf.request_header_cookie = ""
#कस्टम 401 प्रमाणीकरण। अभी लागू नहीं किया गया है। क्योंकि कस्टम अनुरोध हेडर सुविधा इस आवश्यकता को पूरा कर सकती है (आलसी XD)
conf.request_header_401_auth = ""
#कस्टम अनुरोध विधि। डिफ़ॉल्ट कॉन्फ़िगरेशन get विधि। अन्य कॉन्फ़िगरेशन: जैसे: get; head
#conf.request_method = "head"
conf.request_method = "get"
#प्रत्येक अनुरोध के लिए कस्टम टाइमआउट समय। डिफ़ॉल्ट कॉन्फ़िगरेशन 3 सेकंड।
conf.request_timeout = 3
#यादृच्छिक विलंब (0-x) सेकंड अनुरोध भेजने के लिए। पैरामीटर पूर्णांक होना चाहिए। डिफ़ॉल्ट कॉन्फ़िगरेशन 0 सेकंड, कोई विलंब नहीं।
conf.request_delay = 0
#एकल लक्ष्य के लिए कस्टम, अनुरोध कोरूटिन थ्रेड्स की संख्या। डिफ़ॉल्ट कॉन्फ़िगरेशन 30 थ्रेड्स
conf.request_limit = 30
#कस्टम अधिकतम पुनर्प्रयास संख्या। अभी लागू नहीं किया गया है।
conf.request_max_retries = 1
#लगातार कनेक्शन सेट करें। क्या session() का उपयोग करना है। अभी लागू नहीं किया गया है।
conf.request_persistent_connect = 0
#302 रीडायरेक्ट। डिफ़ॉल्ट False, कोई रीडायरेक्ट नहीं। अन्य कॉन्फ़िगरेशन: जैसे: True; False
conf.redirection_302 = False
#पेलोड के बाद एक्सटेंशन जोड़ें। डिफ़ॉल्ट खाली, स्कैन करते समय कोई एक्सटेंशन नहीं जोड़ा जाता। अन्य कॉन्फ़िगरेशन: जैसे: txt; php; asp; jsp
#conf.file_extension = "txt"
conf.file_extension = ""
#प्रतिक्रिया प्रोसेसिंग कॉन्फ़िगरेशन
[ResponseHandler]
#रिकॉर्ड करने के लिए प्रतिक्रिया स्टेटस सेट करें। डिफ़ॉल्ट कॉन्फ़िगरेशन [200], 200 स्टेटस कोड रिकॉर्ड करें। अन्य कॉन्फ़िगरेशन: जैसे: [200,403,301]
#conf.response_status_code = [200,403,301]
conf.response_status_code = [200]
#क्या content-type प्रतिक्रिया हेडर रिकॉर्ड करना है। डिफ़ॉल्ट कॉन्फ़िगरेशन 1 रिकॉर्ड
#conf.response_header_content_type = 0
conf.response_header_content_type = 1
#क्या पेज आकार रिकॉर्ड करना है। डिफ़ॉल्ट कॉन्फ़िगरेशन 1 रिकॉर्ड
#conf.response_size = 0
conf.response_size = 1
#क्या स्वचालित रूप से 404 पेज का पता लगाना है। डिफ़ॉल्ट कॉन्फ़िगरेशन True, स्वचालित 404 पहचान चालू करें। अन्य कॉन्फ़िगरेशन संदर्भ जैसे: True; False
#conf.auto_check_404_page = False
conf.auto_check_404_page = True
#कस्टम रेगुलर एक्सप्रेशन 503 पेज से मेल खाने के लिए। अभी लागू नहीं किया गया है। लगता है इसकी आवश्यकता नहीं है, शायद हटा दिया जाए।
#conf.custom_503_page = "page 503"
conf.custom_503_page = ""
#कस्टम रेगुलर एक्सप्रेशन, पेज सामग्री से मेल खाने के लिए
#conf.custom_response_page = "([0-9]){3}([a-z]){3}test"
conf.custom_response_page = ""
#पेज आकार x वाले पेज को प्रदर्शित करने से छोड़ें, यदि सेट नहीं करना है तो कृपया "None" कॉन्फ़िगर करें, डिफ़ॉल्ट कॉन्फ़िगरेशन "None"। अन्य आकार कॉन्फ़िगरेशन संदर्भ: जैसे: None; 0b; 1k; 1m
#conf.skip_size = "0b"
conf.skip_size = "None"
#प्रॉक्सी विकल्प
[ProxyHandler]
#प्रॉक्सी कॉन्फ़िगरेशन। डिफ़ॉल्ट सेटिंग "None", प्रॉक्सी चालू न करें। अन्य कॉन्फ़िगरेशन जैसे: {"http":"http://127.0.0.1:8080","https":"https://127.0.0.1:8080"}
#conf.proxy_server = {"http":"http://127.0.0.1:8080","https":"https://127.0.0.1:8080"}
conf.proxy_server = None
#डीबग विकल्प
[DebugMode]
#पेलोड प्रिंट करें और बाहर निकलें
conf.debug = 0
#अपडेट विकल्प
[CheckUpdate]
#github से अपडेट प्राप्त करें। अभी लागू नहीं किया गया है।
conf.update = 0
डिक्शनरी फ़ाइलें प्रोजेक्ट रूट निर्देशिका के data फ़ोल्डर में संग्रहीत हैं
bar.log.start() त्रुटि के बारे में। समाधान: कृपया progressbar2 स्थापित करें। progressbar को अनइंस्टॉल करें। समान नाम वाले मॉड्यूल के आयात को रोकने के लिए। एक चचेरे भाई को धन्यवाद।कमांड चलाएँ:
python3 -m pip uninstall progressbar
python3 -m pip install progressbar2
dirmap को लिखने की प्रक्रिया में, बड़ी संख्या में उत्कृष्ट ओपन-सोर्स प्रोजेक्ट्स के पैटर्न और विचारों का संदर्भ लिया गया है, इसलिए यह घोषणा की जाती है और आभार व्यक्त किया जाता है।
mail: [email protected]
