mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/pentesting-web/sql-injection/sqlmap.md', 'src/pentestin
This commit is contained in:
parent
a571f52d4f
commit
90e944990c
@ -21,6 +21,23 @@
|
|||||||
--auth-cred="<AUTH>" #HTTP authentication credentials (name:password)
|
--auth-cred="<AUTH>" #HTTP authentication credentials (name:password)
|
||||||
--proxy=PROXY
|
--proxy=PROXY
|
||||||
```
|
```
|
||||||
|
### तकनीक ध्वज (`--technique`)
|
||||||
|
|
||||||
|
`--technique` तर्क यह परिभाषित करता है कि sqlmap कौन से SQL इंजेक्शन विधियों का प्रयास करेगा। स्ट्रिंग में प्रत्येक अक्षर एक तकनीक का प्रतिनिधित्व करता है:
|
||||||
|
|
||||||
|
| अक्षर | तकनीक | विवरण |
|
||||||
|
| ------ | --------- | ----------- |
|
||||||
|
| B | Boolean-आधारित ब्लाइंड | डेटा का अनुमान लगाने के लिए सत्य/असत्य स्थितियों का उपयोग करता है |
|
||||||
|
| E | त्रुटि-आधारित | परिणामों को निकालने के लिए विस्तृत DBMS त्रुटि संदेशों का लाभ उठाता है |
|
||||||
|
| U | UNION क्वेरी | समान चैनल के माध्यम से डेटा लाने के लिए `UNION SELECT` कथनों को इंजेक्ट करता है |
|
||||||
|
| S | स्टैक्ड क्वेरी | `;` द्वारा अलग किए गए अतिरिक्त कथनों को जोड़ता है |
|
||||||
|
| T | समय-आधारित ब्लाइंड | इंजेक्शन का पता लगाने के लिए देरी (`SLEEP`, `WAITFOR`) पर निर्भर करता है |
|
||||||
|
| Q | इनलाइन / आउट-ऑफ-बैंड | `LOAD_FILE()` जैसी कार्यों या DNS जैसे OOB चैनलों का उपयोग करता है |
|
||||||
|
|
||||||
|
डिफ़ॉल्ट क्रम `BEUSTQ` है। आप उन्हें पुनर्व्यवस्थित या सीमित कर सकते हैं, जैसे केवल Boolean और समय-आधारित उसी क्रम में:
|
||||||
|
```bash
|
||||||
|
sqlmap -u "http://target/?id=1" --technique="BT" --batch
|
||||||
|
```
|
||||||
### जानकारी प्राप्त करें
|
### जानकारी प्राप्त करें
|
||||||
|
|
||||||
#### आंतरिक
|
#### आंतरिक
|
||||||
@ -123,45 +140,48 @@ sqlmap -r r.txt -p id --not-string ridiculous --batch
|
|||||||
| base64encode.py | दिए गए पेलोड में सभी चरित्रों को Base64 में परिवर्तित करता है |
|
| base64encode.py | दिए गए पेलोड में सभी चरित्रों को Base64 में परिवर्तित करता है |
|
||||||
| between.py | बड़े से बड़ा ऑपरेटर \('>'\) को 'NOT BETWEEN 0 AND \#' के साथ बदलता है |
|
| between.py | बड़े से बड़ा ऑपरेटर \('>'\) को 'NOT BETWEEN 0 AND \#' के साथ बदलता है |
|
||||||
| bluecoat.py | SQL कथन के बाद स्पेस चरित्र को एक मान्य यादृच्छिक खाली चरित्र के साथ बदलता है। इसके बाद चरित्र = को LIKE ऑपरेटर के साथ बदलता है |
|
| bluecoat.py | SQL कथन के बाद स्पेस चरित्र को एक मान्य यादृच्छिक खाली चरित्र के साथ बदलता है। इसके बाद चरित्र = को LIKE ऑपरेटर के साथ बदलता है |
|
||||||
| chardoubleencode.py | दिए गए पेलोड में सभी चरित्रों को डबल URL-एन्कोड करता है \(पहले से एन्कोडेड को प्रोसेस नहीं करता\) |
|
| chardoubleencode.py | दिए गए पेलोड में सभी चरित्रों को डबल URL-एन्कोड करता है \(पहले से एन्कोडेड को प्रोसेस नहीं कर रहा\) |
|
||||||
| commalesslimit.py | 'LIMIT M, N' जैसे उदाहरणों को 'LIMIT N OFFSET M' के साथ बदलता है |
|
| commalesslimit.py | 'LIMIT M, N' जैसे उदाहरणों को 'LIMIT N OFFSET M' के साथ बदलता है |
|
||||||
| commalessmid.py | 'MID\(A, B, C\)' जैसे उदाहरणों को 'MID\(A FROM B FOR C\)' के साथ बदलता है |
|
| 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\)' के साथ बदलता है |
|
| concat2concatws.py | 'CONCAT\(A, B\)' जैसे उदाहरणों को 'CONCAT_WS\(MID\(CHAR\(0\), 0, 0\), A, B\)' के साथ बदलता है |
|
||||||
| charencode.py | दिए गए पेलोड में सभी चरित्रों को URL-एन्कोड करता है \(पहले से एन्कोडेड को प्रोसेस नहीं करता\) |
|
| charencode.py | दिए गए पेलोड में सभी चरित्रों को URL-एन्कोड करता है \(पहले से एन्कोडेड को प्रोसेस नहीं कर रहा\) |
|
||||||
| charunicodeencode.py | दिए गए पेलोड में गैर-एन्कोडेड चरित्रों को यूनिकोड-URL-एन्कोड करता है \(पहले से एन्कोडेड को प्रोसेस नहीं करता\)। "%u0022" |
|
| charunicodeencode.py | दिए गए पेलोड में गैर-एन्कोडेड चरित्रों को यूनिकोड-URL-एन्कोड करता है \(पहले से एन्कोडेड को प्रोसेस नहीं कर रहा\)। "%u0022" |
|
||||||
| charunicodeescape.py | दिए गए पेलोड में गैर-एन्कोडेड चरित्रों को यूनिकोड-URL-एन्कोड करता है \(पहले से एन्कोडेड को प्रोसेस नहीं करता\)। "\u0022" |
|
| charunicodeescape.py | दिए गए पेलोड में गैर-एन्कोडेड चरित्रों को यूनिकोड-URL-एन्कोड करता है \(पहले से एन्कोडेड को प्रोसेस नहीं कर रहा\)। "\u0022" |
|
||||||
| equaltolike.py | ऑपरेटर समान \('='\) के सभी उदाहरणों को ऑपरेटर 'LIKE' के साथ बदलता है |
|
| equaltolike.py | ऑपरेटर समान \('='\) के सभी उदाहरणों को ऑपरेटर 'LIKE' के साथ बदलता है |
|
||||||
| escapequotes.py | स्लैश के साथ उद्धरणों को एस्केप करता है \(' और "\) |
|
| escapequotes.py | स्लैश के साथ उद्धरणों को एस्केप करता है \(' और "\) |
|
||||||
| greatest.py | बड़े से बड़ा ऑपरेटर \('>'\) को 'GREATEST' समकक्ष के साथ बदलता है |
|
| greatest.py | बड़े से बड़ा ऑपरेटर \('>'\) को 'GREATEST' समकक्ष के साथ बदलता है |
|
||||||
| halfversionedmorekeywords.py | प्रत्येक कीवर्ड से पहले संस्करणित MySQL टिप्पणी जोड़ता है |
|
| halfversionedmorekeywords.py | प्रत्येक कीवर्ड से पहले संस्करणित MySQL टिप्पणी जोड़ता है |
|
||||||
| ifnull2ifisnull.py | 'IFNULL\(A, B\)' जैसे उदाहरणों को 'IF\(ISNULL\(A\), B, A\)' के साथ बदलता है |
|
| ifnull2ifisnull.py | 'IFNULL\(A, B\)' जैसे उदाहरणों को 'IF\(ISNULL\(A\), B, A\)' के साथ बदलता है |
|
||||||
| modsecurityversioned.py | पूर्ण क्वेरी को संस्करणित टिप्पणी के साथ घेरता है |
|
| modsecurityversioned.py | पूर्ण क्वेरी को संस्करणित टिप्पणी के साथ घेरता है |
|
||||||
| modsecurityzeroversioned.py | पूर्ण क्वेरी को शून्य-संस्करणित टिप्पणी के साथ घेरता है |
|
| modsecurityzeroversioned.py | पूर्ण क्वेरी को शून्य-संस्करणित टिप्पणी के साथ घेरता है |
|
||||||
| multiplespaces.py | SQL कीवर्ड के चारों ओर कई स्पेस जोड़ता है |
|
| multiplespaces.py | SQL कीवर्ड के चारों ओर कई स्पेस जोड़ता है |
|
||||||
| nonrecursivereplacement.py | पूर्वनिर्धारित SQL कीवर्ड को प्रतिस्थापन के लिए उपयुक्त प्रतिनिधित्व के साथ बदलता है \(जैसे .replace\("SELECT", ""\) फ़िल्टर |
|
| nonrecursivereplacement.py | पूर्वनिर्धारित SQL कीवर्ड को प्रतिस्थापन के लिए उपयुक्त प्रतिनिधित्व के साथ बदलता है \(जैसे .replace\("SELECT", ""\) फ़िल्टर |
|
||||||
| percentage.py | प्रत्येक चरित्र के सामने एक प्रतिशत चिह्न \('%'\) जोड़ता है |
|
| percentage.py | प्रत्येक चरित्र के सामने एक प्रतिशत चिह्न \('%'\) जोड़ता है |
|
||||||
| overlongutf8.py | दिए गए पेलोड में सभी चरित्रों को परिवर्तित करता है \(पहले से एन्कोडेड को प्रोसेस नहीं करता\) |
|
| overlongutf8.py | दिए गए पेलोड में सभी चरित्रों को परिवर्तित करता है \(पहले से एन्कोडेड को प्रोसेस नहीं कर रहा\) |
|
||||||
| randomcase.py | प्रत्येक कीवर्ड चरित्र को यादृच्छिक केस मान के साथ बदलता है |
|
| randomcase.py | प्रत्येक कीवर्ड चरित्र को यादृच्छिक केस मान के साथ बदलता है |
|
||||||
| randomcomments.py | SQL कीवर्ड में यादृच्छिक टिप्पणियाँ जोड़ता है |
|
| randomcomments.py | SQL कीवर्ड में यादृच्छिक टिप्पणियाँ जोड़ता है |
|
||||||
| securesphere.py | विशेष रूप से तैयार किया गया स्ट्रिंग जोड़ता है |
|
| securesphere.py | विशेष रूप से तैयार किया गया स्ट्रिंग जोड़ता है |
|
||||||
| sp_password.py | पेलोड के अंत में 'sp_password' जोड़ता है ताकि DBMS लॉग से स्वचालित रूप से छिपाया जा सके |
|
| sp_password.py | DBMS लॉग से स्वचालित छिपाने के लिए पेलोड के अंत में 'sp_password' जोड़ता है |
|
||||||
| space2comment.py | स्पेस चरित्र \(' '\) को टिप्पणियों के साथ बदलता है |
|
| space2comment.py | स्पेस चरित्र \(' '\) को टिप्पणियों के साथ बदलता है |
|
||||||
| space2dash.py | स्पेस चरित्र \(' '\) को एक डैश टिप्पणी \('--'\) के साथ बदलता है, इसके बाद एक यादृच्छिक स्ट्रिंग और एक नई पंक्ति \('\n'\) |
|
| space2dash.py | स्पेस चरित्र \(' '\) को एक डैश टिप्पणी \('--'\) के साथ बदलता है, इसके बाद एक यादृच्छिक स्ट्रिंग और एक नई पंक्ति \('\n'\) |
|
||||||
| space2hash.py | स्पेस चरित्र \(' '\) को एक पाउंड चरित्र \('\#'\) के साथ बदलता है, इसके बाद एक यादृच्छिक स्ट्रिंग और एक नई पंक्ति \('\n'\) |
|
| space2hash.py | स्पेस चरित्र \(' '\) को एक पाउंड चरित्र \('\#'\) के साथ बदलता है, इसके बाद एक यादृच्छिक स्ट्रिंग और एक नई पंक्ति \('\n'\) |
|
||||||
| space2morehash.py | स्पेस चरित्र \(' '\) को एक पाउंड चरित्र \('\#'\) के साथ बदलता है, इसके बाद एक यादृच्छिक स्ट्रिंग और एक नई पंक्ति \('\n'\) |
|
| space2morehash.py | स्पेस चरित्र \(' '\) को एक पाउंड चरित्र \('\#'\) के साथ बदलता है, इसके बाद एक यादृच्छिक स्ट्रिंग और एक नई पंक्ति \('\n'\) |
|
||||||
| space2mssqlblank.py | स्पेस चरित्र \(' '\) को वैध वैकल्पिक चरित्रों के सेट से एक यादृच्छिक खाली चरित्र के साथ बदलता है |
|
| space2mssqlblank.py | स्पेस चरित्र \(' '\) को वैध वैकल्पिक चरित्रों के सेट से एक यादृच्छिक खाली चरित्र के साथ बदलता है |
|
||||||
| space2mssqlhash.py | स्पेस चरित्र \(' '\) को एक पाउंड चरित्र \('\#'\) के साथ बदलता है, इसके बाद एक नई पंक्ति \('\n'\) |
|
| space2mssqlhash.py | स्पेस चरित्र \(' '\) को एक पाउंड चरित्र \('\#'\) के साथ बदलता है, इसके बाद एक नई पंक्ति \('\n'\) |
|
||||||
| space2mysqlblank.py | स्पेस चरित्र \(' '\) को वैध वैकल्पिक चरित्रों के सेट से एक यादृच्छिक खाली चरित्र के साथ बदलता है |
|
| space2mysqlblank.py | स्पेस चरित्र \(' '\) को वैध वैकल्पिक चरित्रों के सेट से एक यादृच्छिक खाली चरित्र के साथ बदलता है |
|
||||||
| space2mysqldash.py | स्पेस चरित्र \(' '\) को एक डैश टिप्पणी \('--'\) के साथ बदलता है, इसके बाद एक नई पंक्ति \('\n'\) |
|
| space2mysqldash.py | स्पेस चरित्र \(' '\) को एक डैश टिप्पणी \('--'\) के साथ बदलता है, इसके बाद एक नई पंक्ति \('\n'\) |
|
||||||
| space2plus.py | स्पेस चरित्र \(' '\) को प्लस \('+'\) के साथ बदलता है |
|
| space2plus.py | स्पेस चरित्र \(' '\) को प्लस \('+'\) के साथ बदलता है |
|
||||||
| space2randomblank.py | स्पेस चरित्र \(' '\) को वैध वैकल्पिक चरित्रों के सेट से एक यादृच्छिक खाली चरित्र के साथ बदलता है |
|
| space2randomblank.py | स्पेस चरित्र \(' '\) को वैध वैकल्पिक चरित्रों के सेट से एक यादृच्छिक खाली चरित्र के साथ बदलता है |
|
||||||
| symboliclogical.py | AND और OR तार्किक ऑपरेटरों को उनके प्रतीकात्मक समकक्ष \(&& और |
|
| symboliclogical.py | AND और OR तार्किक ऑपरेटरों को उनके प्रतीकात्मक समकक्षों \(&& और |
|
||||||
| unionalltounion.py | UNION ALL SELECT को UNION SELECT के साथ बदलता है |
|
| unionalltounion.py | UNION ALL SELECT को UNION SELECT के साथ बदलता है |
|
||||||
| unmagicquotes.py | उद्धरण चरित्र \('\) को एक मल्टी-बाइट कॉम्बो %bf%27 के साथ बदलता है, साथ में अंत में एक सामान्य टिप्पणी \(काम करने के लिए\) |
|
| unmagicquotes.py | उद्धरण चरित्र \('\) को एक मल्टी-बाइट कॉम्बो %bf%27 के साथ बदलता है, साथ में अंत में सामान्य टिप्पणी \(काम करने के लिए\) |
|
||||||
| uppercase.py | प्रत्येक कीवर्ड चरित्र को बड़े अक्षर के मान 'INSERT' के साथ बदलता है |
|
| uppercase.py | प्रत्येक कीवर्ड चरित्र को बड़े अक्षर के मान 'INSERT' के साथ बदलता है |
|
||||||
| varnish.py | एक HTTP हेडर 'X-originating-IP' जोड़ता है |
|
| varnish.py | एक HTTP हेडर 'X-originating-IP' जोड़ता है |
|
||||||
| versionedkeywords.py | प्रत्येक गैर-कार्य कीवर्ड को संस्करणित MySQL टिप्पणी के साथ घेरता है |
|
| versionedkeywords.py | प्रत्येक गैर-फंक्शन कीवर्ड को संस्करणित MySQL टिप्पणी के साथ घेरता है |
|
||||||
| versionedmorekeywords.py | प्रत्येक कीवर्ड को संस्करणित MySQL टिप्पणी के साथ घेरता है |
|
| versionedmorekeywords.py | प्रत्येक कीवर्ड को संस्करणित MySQL टिप्पणी के साथ घेरता है |
|
||||||
| xforwardedfor.py | एक नकली HTTP हेडर 'X-Forwarded-For' जोड़ता है |
|
| xforwardedfor.py | एक फर्जी HTTP हेडर 'X-Forwarded-For' जोड़ता है |
|
||||||
|
|
||||||
|
## References
|
||||||
|
- [SQLMap: Testing SQL Database Vulnerabilities](https://blog.bughunt.com.br/sqlmap-vulnerabilidades-banco-de-dados/)
|
||||||
|
|
||||||
{{#include ../../banners/hacktricks-training.md}}
|
{{#include ../../banners/hacktricks-training.md}}
|
||||||
|
@ -23,6 +23,23 @@
|
|||||||
--proxy=http://127.0.0.1:8080
|
--proxy=http://127.0.0.1:8080
|
||||||
--union-char "GsFRts2" #Help sqlmap identify union SQLi techniques with a weird union char
|
--union-char "GsFRts2" #Help sqlmap identify union SQLi techniques with a weird union char
|
||||||
```
|
```
|
||||||
|
### तकनीक ध्वज (`--technique`)
|
||||||
|
|
||||||
|
`--technique` विकल्प आपको SQL इंजेक्शन तकनीकों को प्रतिबंधित या पुनर्व्यवस्थित करने की अनुमति देता है जिन्हें sqlmap परीक्षण करेगा। प्रत्येक अक्षर एक अलग प्रकार के पेलोड से संबंधित है:
|
||||||
|
|
||||||
|
| अक्षर | तकनीक | विवरण |
|
||||||
|
| ------ | --------- | ----------- |
|
||||||
|
| B | Boolean-based blind | पृष्ठ प्रतिक्रिया में सत्य/असत्य स्थितियों का उपयोग करके परिणामों का अनुमान लगाता है |
|
||||||
|
| E | Error-based | डेटा निकालने के लिए विस्तृत DBMS त्रुटि संदेशों का लाभ उठाता है |
|
||||||
|
| U | UNION query | समान चैनल के माध्यम से डेटा लाने के लिए `UNION SELECT` कथनों को इंजेक्ट करता है |
|
||||||
|
| S | Stacked queries | SQL सीमांकक (`;`) द्वारा अलग किए गए अतिरिक्त कथनों को जोड़ता है |
|
||||||
|
| T | Time-based blind | इंजेक्टेबल स्थितियों का पता लगाने के लिए `SLEEP/WAITFOR` विलंब पर निर्भर करता है |
|
||||||
|
| Q | Inline / out-of-band | डेटा निकालने के लिए `LOAD_FILE()` या DNS exfiltration जैसी कार्यक्षमताओं का उपयोग करता है |
|
||||||
|
|
||||||
|
डिफ़ॉल्ट क्रम जिसे sqlmap अनुसरण करेगा वह `BEUSTQ` है (सभी तकनीकें)। आप क्रम और उपसमुच्चय दोनों को बदल सकते हैं। उदाहरण के लिए, निम्नलिखित कमांड **केवल** UNION क्वेरी और टाइम-बेस्ड ब्लाइंड तकनीकों का प्रयास करेगा, पहले UNION का प्रयास करते हुए:
|
||||||
|
```bash
|
||||||
|
sqlmap -u "http://target.tld/page.php?id=1" --technique="UT" --batch
|
||||||
|
```
|
||||||
### जानकारी प्राप्त करें
|
### जानकारी प्राप्त करें
|
||||||
|
|
||||||
#### आंतरिक
|
#### आंतरिक
|
||||||
@ -43,22 +60,22 @@
|
|||||||
--columns #Columns of a table ( -D <DB NAME> -T <TABLE NAME> )
|
--columns #Columns of a table ( -D <DB NAME> -T <TABLE NAME> )
|
||||||
-D <DB NAME> -T <TABLE NAME> -C <COLUMN NAME> #Dump column
|
-D <DB NAME> -T <TABLE NAME> -C <COLUMN NAME> #Dump column
|
||||||
```
|
```
|
||||||
Using [SQLMapping](https://taurusomar.github.io/sqlmapping/) यह एक व्यावहारिक उपकरण है जो कमांड उत्पन्न करता है और SQLMap के लिए एक संपूर्ण अवलोकन प्रदान करता है, दोनों बुनियादी और उन्नत। इसमें ToolTips शामिल हैं जो उपकरण के प्रत्येक पहलू को समझाते हैं, हर विकल्प का विवरण देते हैं ताकि आप इसे कुशलता और प्रभावी ढंग से उपयोग करना सीख सकें।
|
[SQLMapping](https://taurusomar.github.io/sqlmapping/) का उपयोग करते हुए, यह एक व्यावहारिक उपकरण है जो कमांड उत्पन्न करता है और SQLMap के लिए एक संपूर्ण अवलोकन प्रदान करता है, दोनों बुनियादी और उन्नत। इसमें ToolTips शामिल हैं जो उपकरण के प्रत्येक पहलू को समझाते हैं, हर विकल्प का विवरण देते हैं ताकि आप इसे कुशलता और प्रभावी ढंग से उपयोग करना सीख सकें।
|
||||||
|
|
||||||
## Injection place
|
## Injection place
|
||||||
|
|
||||||
### From Burp/ZAP capture
|
### From Burp/ZAP capture
|
||||||
|
|
||||||
Capture the request and create a req.txt file
|
अनुरोध को कैप्चर करें और एक req.txt फ़ाइल बनाएं।
|
||||||
```bash
|
```bash
|
||||||
sqlmap -r req.txt --current-user
|
sqlmap -r req.txt --current-user
|
||||||
```
|
```
|
||||||
### GET Request Injection
|
### GET अनुरोध इंजेक्शन
|
||||||
```bash
|
```bash
|
||||||
sqlmap -u "http://example.com/?id=1" -p id
|
sqlmap -u "http://example.com/?id=1" -p id
|
||||||
sqlmap -u "http://example.com/?id=*" -p id
|
sqlmap -u "http://example.com/?id=*" -p id
|
||||||
```
|
```
|
||||||
### POST Request Injection
|
### POST अनुरोध इंजेक्शन
|
||||||
```bash
|
```bash
|
||||||
sqlmap -u "http://example.com" --data "username=*&password=*"
|
sqlmap -u "http://example.com" --data "username=*&password=*"
|
||||||
```
|
```
|
||||||
@ -76,13 +93,13 @@ sqlmap --method=PUT -u "http://example.com" --headers="referer:*"
|
|||||||
|
|
||||||
#The injection is located at the '*'
|
#The injection is located at the '*'
|
||||||
```
|
```
|
||||||
### इंजेक्शन सफल होने पर स्ट्रिंग इंगित करें
|
### जब इंजेक्शन सफल हो तो स्ट्रिंग इंगित करें
|
||||||
```bash
|
```bash
|
||||||
--string="string_showed_when_TRUE"
|
--string="string_showed_when_TRUE"
|
||||||
```
|
```
|
||||||
### Add detection technique
|
### Add detection technique
|
||||||
|
|
||||||
यदि आपने एक SQLi पाया है लेकिन sqlmap ने इसे नहीं पहचाना, तो आप `--prefix` या `--suffix` जैसे args के साथ पहचान तकनीक को मजबूर कर सकते हैं, या यदि अधिक जटिल है, तो इसे sqlmap द्वारा उपयोग किए जाने वाले payloads में जोड़ सकते हैं जैसे कि `/usr/share/sqlmap/data/xml/payloads/time_blind.xml` में, उदाहरण के लिए टाइम ब्लाइंड आधारित।
|
यदि आपने एक SQLi पाया है लेकिन sqlmap ने इसे नहीं पहचाना, तो आप `--prefix` या `--suffix` जैसे args के साथ पहचान तकनीक को मजबूर कर सकते हैं, या यदि अधिक जटिल है, तो इसे sqlmap द्वारा उपयोग किए जाने वाले payloads में जोड़ सकते हैं जैसे कि `/usr/share/sqlmap/data/xml/payloads/time_blind.xml` में, उदाहरण के लिए समय अंधा आधारित।
|
||||||
|
|
||||||
### Eval
|
### Eval
|
||||||
|
|
||||||
@ -113,7 +130,7 @@ sqlmap -u "http://example.com/" --crawl=1 --random-agent --batch --forms --threa
|
|||||||
--crawl = how deep you want to crawl a site
|
--crawl = how deep you want to crawl a site
|
||||||
--forms = Parse and test forms
|
--forms = Parse and test forms
|
||||||
```
|
```
|
||||||
### सेकंड ऑर्डर इंजेक्शन
|
### दूसरे क्रम का इंजेक्शन
|
||||||
```bash
|
```bash
|
||||||
python sqlmap.py -r /tmp/r.txt --dbms MySQL --second-order "http://targetapp/wishlist" -v 3
|
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 -r 1.txt -dbms MySQL -second-order "http://<IP/domain>/joomla/administrator/index.php" -D "joomla" -dbs
|
||||||
@ -145,51 +162,54 @@ sqlmap -r r.txt -p id --not-string ridiculous --batch
|
|||||||
| Tamper | Description |
|
| Tamper | Description |
|
||||||
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
|
| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
|
||||||
| apostrophemask.py | अपॉस्ट्रॉफ चर को इसके UTF-8 पूर्ण चौड़ाई समकक्ष के साथ बदलता है |
|
| apostrophemask.py | अपॉस्ट्रॉफ चर को इसके UTF-8 पूर्ण चौड़ाई समकक्ष के साथ बदलता है |
|
||||||
| apostrophenullencode.py | अपॉस्ट्रॉफ चर को इसके अवैध डबल यूनिकोड समकक्ष के साथ बदलता है |
|
| apostrophenullencode.py | अपॉस्ट्रॉफ चर को इसके अवैध डबल यूनिकोड समकक्ष के साथ बदलता है |
|
||||||
| appendnullbyte.py | पेलोड के अंत में एन्कोडेड NULL बाइट चर जोड़ता है |
|
| appendnullbyte.py | पेलोड के अंत में एन्कोडेड NULL बाइट चर जोड़ता है |
|
||||||
| base64encode.py | दिए गए पेलोड में सभी चर को Base64 में एन्कोड करता है |
|
| base64encode.py | दिए गए पेलोड में सभी चर को Base64 में परिवर्तित करता है |
|
||||||
| between.py | '>' ऑपरेटर को 'NOT BETWEEN 0 AND #' के साथ बदलता है |
|
| between.py | बड़े से बड़ा ऑपरेटर ('>') को 'NOT BETWEEN 0 AND #' के साथ बदलता है |
|
||||||
| bluecoat.py | SQL कथन के बाद स्पेस चर को एक मान्य यादृच्छिक खाली चर के साथ बदलता है। इसके बाद चर = को LIKE ऑपरेटर के साथ बदलता है |
|
| bluecoat.py | SQL कथन के बाद स्पेस चर को एक मान्य यादृच्छिक खाली चर के साथ बदलता है। इसके बाद चर = को LIKE ऑपरेटर के साथ बदलता है |
|
||||||
| chardoubleencode.py | दिए गए पेलोड में सभी चर को डबल URL-एन्कोड करता है (पहले से एन्कोडेड को प्रोसेस नहीं करता) |
|
| chardoubleencode.py | दिए गए पेलोड में सभी चर को डबल URL-एन्कोड करता है (पहले से एन्कोडेड को प्रोसेस नहीं करता) |
|
||||||
| commalesslimit.py | 'LIMIT M, N' जैसे उदाहरणों को 'LIMIT N OFFSET M' के साथ बदलता है |
|
| commalesslimit.py | 'LIMIT M, N' जैसे उदाहरणों को 'LIMIT N OFFSET M' के साथ बदलता है |
|
||||||
| commalessmid.py | 'MID(A, B, C)' जैसे उदाहरणों को 'MID(A FROM B FOR C)' के साथ बदलता है |
|
| 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)' के साथ बदलता है |
|
| concat2concatws.py | 'CONCAT(A, B)' जैसे उदाहरणों को 'CONCAT_WS(MID(CHAR(0), 0, 0), A, B)' के साथ बदलता है |
|
||||||
| charencode.py | दिए गए पेलोड में सभी चर को URL-एन्कोड करता है (पहले से एन्कोडेड को प्रोसेस नहीं करता) |
|
| charencode.py | दिए गए पेलोड में सभी चर को URL-एन्कोड करता है (पहले से एन्कोडेड को प्रोसेस नहीं करता) |
|
||||||
| charunicodeencode.py | दिए गए पेलोड में गैर-एन्कोडेड चर को यूनिकोड-URL-एन्कोड करता है (पहले से एन्कोडेड को प्रोसेस नहीं करता)। "%u0022" |
|
| charunicodeencode.py | दिए गए पेलोड में गैर-एन्कोडेड चर को यूनिकोड-यूआरएल-एन्कोड करता है (पहले से एन्कोडेड को प्रोसेस नहीं करता)। "%u0022" |
|
||||||
| charunicodeescape.py | दिए गए पेलोड में गैर-एन्कोडेड चर को यूनिकोड-URL-एन्कोड करता है (पहले से एन्कोडेड को प्रोसेस नहीं करता)। "\u0022" |
|
| charunicodeescape.py | दिए गए पेलोड में गैर-एन्कोडेड चर को यूनिकोड-यूआरएल-एन्कोड करता है (पहले से एन्कोडेड को प्रोसेस नहीं करता)। "\u0022" |
|
||||||
| equaltolike.py | '=' ऑपरेटर के सभी उदाहरणों को 'LIKE' ऑपरेटर के साथ बदलता है |
|
| equaltolike.py | ऑपरेटर समान ('=') के सभी उदाहरणों को ऑपरेटर 'LIKE' के साथ बदलता है |
|
||||||
| escapequotes.py | उद्धरण चिह्नों (' और ") को स्लैश से एस्केप करता है |
|
| escapequotes.py | उद्धरण चिह्नों (' और ") को स्लैश से एस्केप करता है |
|
||||||
| greatest.py | '>' ऑपरेटर को 'GREATEST' समकक्ष के साथ बदलता है |
|
| greatest.py | बड़े से बड़ा ऑपरेटर ('>') को 'GREATEST' समकक्ष के साथ बदलता है |
|
||||||
| halfversionedmorekeywords.py | प्रत्येक कीवर्ड से पहले संस्करणित MySQL टिप्पणी जोड़ता है |
|
| halfversionedmorekeywords.py | प्रत्येक कीवर्ड से पहले संस्करणित MySQL टिप्पणी जोड़ता है |
|
||||||
| ifnull2ifisnull.py | 'IFNULL(A, B)' जैसे उदाहरणों को 'IF(ISNULL(A), B, A)' के साथ बदलता है |
|
| ifnull2ifisnull.py | 'IFNULL(A, B)' जैसे उदाहरणों को 'IF(ISNULL(A), B, A)' के साथ बदलता है |
|
||||||
| modsecurityversioned.py | पूर्ण क्वेरी को संस्करणित टिप्पणी के साथ घेरता है |
|
| modsecurityversioned.py | पूर्ण क्वेरी को संस्करणित टिप्पणी के साथ घेरता है |
|
||||||
| modsecurityzeroversioned.py | पूर्ण क्वेरी को शून्य-संस्करणित टिप्पणी के साथ घेरता है |
|
| modsecurityzeroversioned.py | पूर्ण क्वेरी को शून्य-संस्करणित टिप्पणी के साथ घेरता है |
|
||||||
| multiplespaces.py | SQL कीवर्ड के चारों ओर कई स्पेस जोड़ता है |
|
| multiplespaces.py | SQL कीवर्ड के चारों ओर कई स्पेस जोड़ता है |
|
||||||
| nonrecursivereplacement.py | पूर्वनिर्धारित SQL कीवर्ड को प्रतिस्थापन के लिए उपयुक्त प्रतिनिधित्व के साथ बदलता है (जैसे .replace("SELECT", "")) फ़िल्टर |
|
| nonrecursivereplacement.py | पूर्वनिर्धारित SQL कीवर्ड को प्रतिस्थापन के लिए उपयुक्त प्रतिनिधित्व के साथ बदलता है (जैसे .replace("SELECT", "")) फ़िल्टर |
|
||||||
| percentage.py | प्रत्येक चर के सामने एक प्रतिशत चिह्न ('%') जोड़ता है |
|
| percentage.py | प्रत्येक चर के सामने एक प्रतिशत चिह्न ('%') जोड़ता है |
|
||||||
| overlongutf8.py | दिए गए पेलोड में सभी चर को परिवर्तित करता है (पहले से एन्कोडेड को प्रोसेस नहीं करता) |
|
| overlongutf8.py | दिए गए पेलोड में सभी चर को परिवर्तित करता है (पहले से एन्कोडेड को प्रोसेस नहीं करता) |
|
||||||
| randomcase.py | प्रत्येक कीवर्ड चर को यादृच्छिक केस मान के साथ बदलता है |
|
| randomcase.py | प्रत्येक कीवर्ड चर को यादृच्छिक केस मान के साथ बदलता है |
|
||||||
| randomcomments.py | SQL कीवर्ड में यादृच्छिक टिप्पणियाँ जोड़ता है |
|
| randomcomments.py | SQL कीवर्ड में यादृच्छिक टिप्पणियाँ जोड़ता है |
|
||||||
| securesphere.py | विशेष रूप से तैयार किया गया स्ट्रिंग जोड़ता है |
|
| securesphere.py | विशेष रूप से तैयार किया गया स्ट्रिंग जोड़ता है |
|
||||||
| sp_password.py | पेलोड के अंत में 'sp_password' जोड़ता है ताकि DBMS लॉग से स्वचालित रूप से छिपाया जा सके |
|
| sp_password.py | DBMS लॉग से स्वचालित छिपाने के लिए पेलोड के अंत में 'sp_password' जोड़ता है |
|
||||||
| space2comment.py | स्पेस चर (' ') को टिप्पणियों के साथ बदलता है |
|
| space2comment.py | स्पेस चर (' ') को टिप्पणियों के साथ बदलता है |
|
||||||
| space2dash.py | स्पेस चर (' ') को एक डैश टिप्पणी ('--') के साथ बदलता है, इसके बाद एक यादृच्छिक स्ट्रिंग और एक नई पंक्ति ('\n') होती है |
|
| space2dash.py | स्पेस चर (' ') को एक डैश टिप्पणी ('--') के साथ बदलता है, इसके बाद एक यादृच्छिक स्ट्रिंग और एक नई पंक्ति ('\n') |
|
||||||
| space2hash.py | स्पेस चर (' ') को एक पाउंड चर ('#') के साथ बदलता है, इसके बाद एक यादृच्छिक स्ट्रिंग और एक नई पंक्ति ('\n') होती है |
|
| space2hash.py | स्पेस चर (' ') को एक पाउंड चर ('#') के साथ बदलता है, इसके बाद एक यादृच्छिक स्ट्रिंग और एक नई पंक्ति ('\n') |
|
||||||
| space2morehash.py | स्पेस चर (' ') को एक पाउंड चर ('#') के साथ बदलता है, इसके बाद एक यादृच्छिक स्ट्रिंग और एक नई पंक्ति ('\n') होती है |
|
| space2morehash.py | स्पेस चर (' ') को एक पाउंड चर ('#') के साथ बदलता है, इसके बाद एक यादृच्छिक स्ट्रिंग और एक नई पंक्ति ('\n') |
|
||||||
| space2mssqlblank.py | स्पेस चर (' ') को वैध वैकल्पिक चर के सेट से एक यादृच्छिक खाली चर के साथ बदलता है |
|
| space2mssqlblank.py | स्पेस चर (' ') को वैध वैकल्पिक चर के सेट से एक यादृच्छिक खाली चर के साथ बदलता है |
|
||||||
| space2mssqlhash.py | स्पेस चर (' ') को एक पाउंड चर ('#') के साथ बदलता है, इसके बाद एक नई पंक्ति ('\n') होती है |
|
| space2mssqlhash.py | स्पेस चर (' ') को एक पाउंड चर ('#') के साथ बदलता है, इसके बाद एक नई पंक्ति ('\n') |
|
||||||
| space2mysqlblank.py | स्पेस चर (' ') को वैध वैकल्पिक चर के सेट से एक यादृच्छिक खाली चर के साथ बदलता है |
|
| space2mysqlblank.py | स्पेस चर (' ') को वैध वैकल्पिक चर के सेट से एक यादृच्छिक खाली चर के साथ बदलता है |
|
||||||
| space2mysqldash.py | स्पेस चर (' ') को एक डैश टिप्पणी ('--') के साथ बदलता है, इसके बाद एक नई पंक्ति ('\n') होती है |
|
| space2mysqldash.py | स्पेस चर (' ') को एक डैश टिप्पणी ('--') के साथ बदलता है, इसके बाद एक नई पंक्ति ('\n') |
|
||||||
| space2plus.py | स्पेस चर (' ') को प्लस ('+') के साथ बदलता है |
|
| space2plus.py | स्पेस चर (' ') को प्लस ('+') के साथ बदलता है |
|
||||||
| space2randomblank.py | स्पेस चर (' ') को वैध वैकल्पिक चर के सेट से एक यादृच्छिक खाली चर के साथ बदलता है |
|
| space2randomblank.py | स्पेस चर (' ') को वैध वैकल्पिक चर के सेट से एक यादृच्छिक खाली चर के साथ बदलता है |
|
||||||
| symboliclogical.py | AND और OR तार्किक ऑपरेटर को उनके प्रतीकात्मक समकक्ष (&& और |
|
| symboliclogical.py | AND और OR तार्किक ऑपरेटर को उनके प्रतीकात्मक समकक्ष (&& और |
|
||||||
| unionalltounion.py | UNION ALL SELECT को UNION SELECT के साथ बदलता है |
|
| unionalltounion.py | UNION ALL SELECT को UNION SELECT के साथ बदलता है |
|
||||||
| unmagicquotes.py | उद्धरण चर (') को एक मल्टी-बाइट कॉम्बो %bf%27 के साथ बदलता है, साथ में अंत में एक सामान्य टिप्पणी (काम करने के लिए) |
|
| unmagicquotes.py | उद्धरण चर (') को एक मल्टी-बाइट कॉम्बो %bf%27 के साथ बदलता है, साथ में अंत में सामान्य टिप्पणी (काम करने के लिए) |
|
||||||
| uppercase.py | प्रत्येक कीवर्ड चर को अपर केस मान 'INSERT' के साथ बदलता है |
|
| uppercase.py | प्रत्येक कीवर्ड चर को बड़े अक्षर के मान 'INSERT' के साथ बदलता है |
|
||||||
| varnish.py | एक HTTP हेडर 'X-originating-IP' जोड़ता है |
|
| varnish.py | एक HTTP हेडर 'X-originating-IP' जोड़ता है |
|
||||||
| versionedkeywords.py | प्रत्येक गैर-कार्य कीवर्ड को संस्करणित MySQL टिप्पणी के साथ घेरता है |
|
| versionedkeywords.py | प्रत्येक गैर-कार्य कीवर्ड को संस्करणित MySQL टिप्पणी के साथ घेरता है |
|
||||||
| versionedmorekeywords.py | प्रत्येक कीवर्ड को संस्करणित MySQL टिप्पणी के साथ घेरता है |
|
| versionedmorekeywords.py | प्रत्येक कीवर्ड को संस्करणित MySQL टिप्पणी के साथ घेरता है |
|
||||||
| xforwardedfor.py | एक नकली HTTP हेडर 'X-Forwarded-For' जोड़ता है |
|
| xforwardedfor.py | एक नकली HTTP हेडर 'X-Forwarded-For' जोड़ता है |
|
||||||
|
|
||||||
|
|
||||||
|
## References
|
||||||
|
- [SQLMap: Testing SQL Database Vulnerabilities](https://blog.bughunt.com.br/sqlmap-vulnerabilidades-banco-de-dados/)
|
||||||
|
|
||||||
{{#include ../../../banners/hacktricks-training.md}}
|
{{#include ../../../banners/hacktricks-training.md}}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user