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

pip3python3 -m pip install --upgrade -r requirements.txtpython3 setup.py install या python3 -m pip install -e .ghauri --help कमांड के साथ ghauri तक पहुँच और चला सकेंगे।या
आप GitHub रिपॉजिटरी को क्लोन करके Ghauri का नवीनतम संस्करण डाउनलोड कर सकते हैं।
git clone https://github.com/r0oth3x49/ghauri.git
--proxy का समर्थन करता है।-r file.txt--start 1 --stop 2--skip-urlencode--sql-shell (प्रायोगिक)--fresh-queries--hostname
लेखक: नासिर खान ()
उपयोग: ghauri -u URL [OPTIONS]
एक क्रॉस-प्लेटफ़ॉर्म पायथन आधारित उन्नत SQL इंजेक्शन पहचान और शोषण उपकरण।
सामान्य:
-h, --help सहायता दिखाता है।
--version संस्करण दिखाता है।
--update ghauri को अपडेट करता है
-v VERBOSE वर्बोसिटी स्तर: 1-5 (डिफ़ॉल्ट 1)।
--batch उपयोगकर्ता इनपुट कभी न पूछें, डिफ़ॉल्ट व्यवहार का उपयोग करें
--flush-session वर्तमान लक्ष्य के लिए सत्र फ़ाइलें फ्लश करें
--fresh-queries सत्र फ़ाइल में संग्रहीत क्वेरी परिणामों को अनदेखा करें
--test-filter शीर्षकों के अनुसार परीक्षण पेलोड चुनें (प्रायोगिक)
लक्ष्य:
लक्ष्य को परिभाषित करने के लिए इनमें से कम से कम एक विकल्प प्रदान किया जाना चाहिए।
-u URL, --url URL लक्ष्य URL (जैसे 'http://www.site.com/vuln.php?id=1)।
-m BULKFILE टेक्स्ट फ़ाइल में दिए गए एकाधिक लक्ष्यों को स्कैन करें
-r REQUESTFILE फ़ाइल से HTTP अनुरोध लोड करें
अनुरोध:
इन विकल्पों का उपयोग यह निर्दिष्ट करने के लिए किया जा सकता है कि लक्ष्य URL से कैसे कनेक्ट करें
-A , --user-agent HTTP User-Agent हेडर मान
-H , --header अतिरिक्त हेडर (जैसे "X-Forwarded-For: 127.0.0.1")
--mobile HTTP User-Agent हेडर के माध्यम से स्मार्टफोन का अनुकरण करें
--random-agent यादृच्छिक रूप से चयनित HTTP User-Agent हेडर मान का उपयोग करें
--host HTTP Host हेडर मान
--data POST के माध्यम से भेजा जाने वाला डेटा स्ट्रिंग (जैसे "id=1")
--cookie HTTP Cookie हेडर मान (जैसे "PHPSESSID=a8d127e..")
--referer HTTP Referer हेडर मान
--headers अतिरिक्त हेडर (जैसे "Accept-Language: fr\nETag: 123")
--proxy लक्ष्य URL से कनेक्ट करने के लिए प्रॉक्सी का उपयोग करें
--delay प्रत्येक HTTP अनुरोध के बीच सेकंड में विलंब
--timeout टाइमआउट कनेक्शन से पहले प्रतीक्षा करने के लिए सेकंड (डिफ़ॉल्ट 30)
--retries कनेक्शन संबंधी त्रुटि होने पर पुनः प्रयास (डिफ़ॉल्ट 3)
--confirm इंजेक्ट किए गए पेलोड की पुष्टि करें।
--ignore-code (समस्या उत्पन्न करने वाले) HTTP त्रुटि कोड को अनदेखा करें (जैसे 401)
--skip-urlencode पेलोड डेटा के URL एनकोडिंग को छोड़ें
--force-ssl SSL/HTTPS के उपयोग को बाध्य करें
अनुकूलन:
इन विकल्पों का उपयोग ghauri के प्रदर्शन को अनुकूलित करने के लिए किया जा सकता है
--threads THREADS समवर्ती HTTP(s) अनुरोधों की अधिकतम संख्या (डिफ़ॉल्ट 1)
इंजेक्शन:
इन विकल्पों का उपयोग यह निर्दिष्ट करने के लिए किया जा सकता है कि किन पैरामीटरों का परीक्षण करना है,
कस्टम इंजेक्शन पेलोड और वैकल्पिक टैम्परिंग स्क्रिप्ट प्रदान करना
-p TESTPARAMETER परीक्षण योग्य पैरामीटर
--dbms DBMS प्रदान किए गए मान के लिए बैक-एंड DBMS को बाध्य करें
--prefix इंजेक्शन पेलोड उपसर्ग स्ट्रिंग
--suffix इंजेक्शन पेलोड प्रत्यय स्ट्रिंग
--safe-chars विशिष्ट वर्ण(ों) का URL एनकोडिंग छोड़ें: (जैसे: --safe-chars="[]")
--fetch-using विभिन्न ऑपरेटर(ों) का उपयोग करके डेटा प्राप्त करें: (जैसे: --fetch-using=between/in)
पहचान:
इन विकल्पों का उपयोग पहचान चरण को अनुकूलित करने के लिए किया जा सकता है
--level LEVEL प्रदर्शन करने के लिए परीक्षणों का स्तर (1-3, डिफ़ॉल्ट 1)
--code CODE जब क्वेरी को True के रूप में मूल्यांकित किया जाता है तो मिलान करने के लिए HTTP कोड
--string जब क्वेरी को True के रूप में मूल्यांकित किया जाता है तो मिलान करने के लिए स्ट्रिंग
--not-string जब क्वेरी को False के रूप में मूल्यांकित किया जाता है तो मिलान करने के लिए स्ट्रिंग
--text-only केवल पाठ्य सामग्री के आधार पर पृष्ठों की तुलना करें
तकनीकें:
इन विकल्पों का उपयोग विशिष्ट SQL इंजेक्शन तकनीकों के परीक्षण को समायोजित करने के लिए किया जा सकता है
--technique TECH उपयोग करने के लिए SQL इंजेक्शन तकनीकें (डिफ़ॉल्ट "BEST")
--time-sec TIMESEC DBMS प्रतिक्रिया में विलंब करने के लिए सेकंड (डिफ़ॉल्ट 5)
गणना:
इन विकल्पों का उपयोग बैक-एंड डेटाबेस प्रबंधन प्रणाली की जानकारी, संरचना और तालिकाओं में निहित डेटा की गणना करने के लिए किया जा सकता है।
-b, --banner DBMS बैनर प्राप्त करें
--current-user वर्तमान DBMS उपयोगकर्ता प्राप्त करें
--current-db वर्तमान DBMS डेटाबेस प्राप्त करें
--hostname DBMS सर्वर होस्टनेम प्राप्त करें
--dbs DBMS डेटाबेस की गणना करें
--tables DBMS डेटाबेस तालिकाओं की गणना करें
--columns DBMS डेटाबेस तालिका स्तंभों की गणना करें
--count तालिका(ों) के लिए प्रविष्टियों की संख्या प्राप्त करें
--dump DBMS डेटाबेस तालिका प्रविष्टियाँ डंप करें
-D DB गणना करने के लिए DBMS डेटाबेस
-T TBL गणना करने के लिए DBMS डेटाबेस तालिका(एँ)
-C COLS गणना करने के लिए DBMS डेटाबेस तालिका स्तंभ
--start dbs/tables/columns/dump के लिए ऑफ़सेट से प्रविष्टियाँ प्राप्त करें
--stop dbs/tables/columns/dump के लिए ऑफ़सेट तक प्रविष्टियाँ प्राप्त करें
--sql-shell इंटरैक्टिव SQL शेल के लिए संकेत (प्रायोगिक)
उदाहरण:
ghauri -u http://www.site.com/vuln.php?id=1 --dbs
पूर्व पारस्परिक सहमति के बिना लक्ष्यों पर हमला करने के लिए Ghauri का उपयोग करना अवैध है।
सभी लागू स्थानीय, राज्य और संघीय कानूनों का पालन करना अंतिम उपयोगकर्ता की जिम्मेदारी है।
डेवलपर कोई देयता नहीं मानता है और इस प्रोग्राम द्वारा किसी भी दुरुपयोग या क्षति के लिए जिम्मेदार नहीं है।
कई लेख और पोस्ट उन सफलताओं को उजागर करते हैं जो उपयोगकर्ताओं ने SQLMap की तुलना में Ghauri के साथ अनुभव की हैं। जबकि मैं सीधे तौर पर Ghauri की तुलना SQLMap से नहीं कर रहा हूँ, कई उपयोगकर्ताओं ने ऐसा किया है। मैंने यह प्रोजेक्ट इसलिए शुरू किया क्योंकि अपने दैनिक कार्य में, मुझे सरल SQL इंजेक्शन के लिए भी SQLMap को कॉन्फ़िगर और उपयोग करने में अक्सर महत्वपूर्ण चुनौतियों का सामना करना पड़ता था। ये इंजेक्शन सीधे लगने के बावजूद, SQLMap अक्सर उनका पता लगाने में विफल रहता था। एक मित्र द्वारा प्रोत्साहित होकर, मैंने अपना स्वयं का उपकरण बनाने का निर्णय लिया। मैंने शोषण के लिए कई स्क्रिप्ट विकसित की थीं, जो प्रत्येक विशिष्ट मामलों के लिए तैयार की गई थीं, और मुझे इन तकनीकों को एक ही मॉड्यूल में एकीकृत करने के संभावित लाभ का एहसास हुआ। इससे Ghauri का निर्माण हुआ, जिसे समुदाय द्वारा अच्छी तरह से प्राप्त किया गया, और अपनी प्रभावशीलता के कारण सकारात्मक प्रतिक्रिया और स्टार्स प्राप्त हुए।
यहां तक कि Stamparam ने भी Ghauri को स्वीकार किया, इसे एक ट्वीट में "आंतरिक भागों का पुनर्लेखन" बताया, जो इसकी आंतरिक यांत्रिकी के महत्व को रेखांकित करता है।
उदाहरण के लिए, आप एक कमजोर HTTP अनुरोध को एक फ़ाइल में सहेज सकते हैं (प्रमाणीकरण के पीछे एक SQLi) और इसे -r स्विच का उपयोग करके Ghauri और SQLMap दोनों को प्रदान कर सकते हैं। परिणाम कस्टम कॉन्फ़िगरेशन की आवश्यकता के बिना अपने लिए बोलेंगे।
Ghauri ब्राउज़र जैसे तरीके से और अपने स्वयं के अनूठे तरीकों से काम करता है, स्वचालित रूप से विभिन्न एक्सफिल्ट्रेशन तकनीकों और बाईपास पर स्विच करता है। फिर, यह कोई सीधी तुलना नहीं है क्योंकि Ghauri में अभी भी कई विशेषताओं को लागू करना बाकी है, जबकि SQLMap पहले से ही सुविधाओं से भरपूर है। हालांकि, Ghauri लगातार आवश्यक कार्यों को करता है।
इस उपकरण को विकसित करने के बाद से, मैं शायद ही कभी SQLMap का उपयोग करता हूँ, कुछ मामलों को छोड़कर जहां Ghauri में अभी भी सुधार किया जा रहा है।
मैं आपको इसे स्वयं आज़माने के लिए प्रोत्साहित करता हूँ। धन्यवाद।
--update
ghauri --update कमांड से अपडेट संभव होगा।--ignore-code--count-m (प्रायोगिक)--random-agent, --mobile