From 90e944990cbfa9eb4f7d9db8d62c2226b1bb55ef Mon Sep 17 00:00:00 2001 From: Translator Date: Wed, 30 Jul 2025 06:30:48 +0000 Subject: [PATCH] Translated ['src/pentesting-web/sql-injection/sqlmap.md', 'src/pentestin --- src/pentesting-web/sql-injection/sqlmap.md | 58 ++++++--- .../sql-injection/sqlmap/README.md | 122 ++++++++++-------- 2 files changed, 110 insertions(+), 70 deletions(-) diff --git a/src/pentesting-web/sql-injection/sqlmap.md b/src/pentesting-web/sql-injection/sqlmap.md index aa63d14fd..96bab13a8 100644 --- a/src/pentesting-web/sql-injection/sqlmap.md +++ b/src/pentesting-web/sql-injection/sqlmap.md @@ -21,6 +21,23 @@ --auth-cred="" #HTTP authentication credentials (name:password) --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 में परिवर्तित करता है | | between.py | बड़े से बड़ा ऑपरेटर \('>'\) को 'NOT BETWEEN 0 AND \#' के साथ बदलता है | | bluecoat.py | SQL कथन के बाद स्पेस चरित्र को एक मान्य यादृच्छिक खाली चरित्र के साथ बदलता है। इसके बाद चरित्र = को LIKE ऑपरेटर के साथ बदलता है | -| chardoubleencode.py | दिए गए पेलोड में सभी चरित्रों को डबल URL-एन्कोड करता है \(पहले से एन्कोडेड को प्रोसेस नहीं करता\) | -| commalesslimit.py | 'LIMIT M, N' जैसे उदाहरणों को 'LIMIT N OFFSET M' के साथ बदलता है | +| 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" | +| charencode.py | दिए गए पेलोड में सभी चरित्रों को URL-एन्कोड करता है \(पहले से एन्कोडेड को प्रोसेस नहीं कर रहा\) | +| charunicodeencode.py | दिए गए पेलोड में गैर-एन्कोडेड चरित्रों को यूनिकोड-URL-एन्कोड करता है \(पहले से एन्कोडेड को प्रोसेस नहीं कर रहा\)। "%u0022" | +| charunicodeescape.py | दिए गए पेलोड में गैर-एन्कोडेड चरित्रों को यूनिकोड-URL-एन्कोड करता है \(पहले से एन्कोडेड को प्रोसेस नहीं कर रहा\)। "\u0022" | | equaltolike.py | ऑपरेटर समान \('='\) के सभी उदाहरणों को ऑपरेटर 'LIKE' के साथ बदलता है | | escapequotes.py | स्लैश के साथ उद्धरणों को एस्केप करता है \(' और "\) | -| greatest.py | बड़े से बड़ा ऑपरेटर \('>'\) को 'GREATEST' समकक्ष के साथ बदलता है | +| greatest.py | बड़े से बड़ा ऑपरेटर \('>'\) को 'GREATEST' समकक्ष के साथ बदलता है | | halfversionedmorekeywords.py | प्रत्येक कीवर्ड से पहले संस्करणित MySQL टिप्पणी जोड़ता है | -| ifnull2ifisnull.py | 'IFNULL\(A, B\)' जैसे उदाहरणों को 'IF\(ISNULL\(A\), B, A\)' के साथ बदलता है | -| modsecurityversioned.py | पूर्ण क्वेरी को संस्करणित टिप्पणी के साथ घेरता है | +| ifnull2ifisnull.py | 'IFNULL\(A, B\)' जैसे उदाहरणों को 'IF\(ISNULL\(A\), B, A\)' के साथ बदलता है | +| modsecurityversioned.py | पूर्ण क्वेरी को संस्करणित टिप्पणी के साथ घेरता है | | modsecurityzeroversioned.py | पूर्ण क्वेरी को शून्य-संस्करणित टिप्पणी के साथ घेरता है | | multiplespaces.py | SQL कीवर्ड के चारों ओर कई स्पेस जोड़ता है | -| nonrecursivereplacement.py | पूर्वनिर्धारित SQL कीवर्ड को प्रतिस्थापन के लिए उपयुक्त प्रतिनिधित्व के साथ बदलता है \(जैसे .replace\("SELECT", ""\) फ़िल्टर | +| nonrecursivereplacement.py | पूर्वनिर्धारित SQL कीवर्ड को प्रतिस्थापन के लिए उपयुक्त प्रतिनिधित्व के साथ बदलता है \(जैसे .replace\("SELECT", ""\) फ़िल्टर | | percentage.py | प्रत्येक चरित्र के सामने एक प्रतिशत चिह्न \('%'\) जोड़ता है | -| overlongutf8.py | दिए गए पेलोड में सभी चरित्रों को परिवर्तित करता है \(पहले से एन्कोडेड को प्रोसेस नहीं करता\) | +| overlongutf8.py | दिए गए पेलोड में सभी चरित्रों को परिवर्तित करता है \(पहले से एन्कोडेड को प्रोसेस नहीं कर रहा\) | | randomcase.py | प्रत्येक कीवर्ड चरित्र को यादृच्छिक केस मान के साथ बदलता है | | randomcomments.py | SQL कीवर्ड में यादृच्छिक टिप्पणियाँ जोड़ता है | | securesphere.py | विशेष रूप से तैयार किया गया स्ट्रिंग जोड़ता है | -| sp_password.py | पेलोड के अंत में 'sp_password' जोड़ता है ताकि DBMS लॉग से स्वचालित रूप से छिपाया जा सके | +| sp_password.py | DBMS लॉग से स्वचालित छिपाने के लिए पेलोड के अंत में 'sp_password' जोड़ता है | | space2comment.py | स्पेस चरित्र \(' '\) को टिप्पणियों के साथ बदलता है | -| space2dash.py | स्पेस चरित्र \(' '\) को एक डैश टिप्पणी \('--'\) के साथ बदलता है, इसके बाद एक यादृच्छिक स्ट्रिंग और एक नई पंक्ति \('\n'\) | -| space2hash.py | स्पेस चरित्र \(' '\) को एक पाउंड चरित्र \('\#'\) के साथ बदलता है, इसके बाद एक यादृच्छिक स्ट्रिंग और एक नई पंक्ति \('\n'\) | -| space2morehash.py | स्पेस चरित्र \(' '\) को एक पाउंड चरित्र \('\#'\) के साथ बदलता है, इसके बाद एक यादृच्छिक स्ट्रिंग और एक नई पंक्ति \('\n'\) | +| space2dash.py | स्पेस चरित्र \(' '\) को एक डैश टिप्पणी \('--'\) के साथ बदलता है, इसके बाद एक यादृच्छिक स्ट्रिंग और एक नई पंक्ति \('\n'\) | +| space2hash.py | स्पेस चरित्र \(' '\) को एक पाउंड चरित्र \('\#'\) के साथ बदलता है, इसके बाद एक यादृच्छिक स्ट्रिंग और एक नई पंक्ति \('\n'\) | +| space2morehash.py | स्पेस चरित्र \(' '\) को एक पाउंड चरित्र \('\#'\) के साथ बदलता है, इसके बाद एक यादृच्छिक स्ट्रिंग और एक नई पंक्ति \('\n'\) | | space2mssqlblank.py | स्पेस चरित्र \(' '\) को वैध वैकल्पिक चरित्रों के सेट से एक यादृच्छिक खाली चरित्र के साथ बदलता है | | space2mssqlhash.py | स्पेस चरित्र \(' '\) को एक पाउंड चरित्र \('\#'\) के साथ बदलता है, इसके बाद एक नई पंक्ति \('\n'\) | | space2mysqlblank.py | स्पेस चरित्र \(' '\) को वैध वैकल्पिक चरित्रों के सेट से एक यादृच्छिक खाली चरित्र के साथ बदलता है | -| space2mysqldash.py | स्पेस चरित्र \(' '\) को एक डैश टिप्पणी \('--'\) के साथ बदलता है, इसके बाद एक नई पंक्ति \('\n'\) | +| space2mysqldash.py | स्पेस चरित्र \(' '\) को एक डैश टिप्पणी \('--'\) के साथ बदलता है, इसके बाद एक नई पंक्ति \('\n'\) | | space2plus.py | स्पेस चरित्र \(' '\) को प्लस \('+'\) के साथ बदलता है | | space2randomblank.py | स्पेस चरित्र \(' '\) को वैध वैकल्पिक चरित्रों के सेट से एक यादृच्छिक खाली चरित्र के साथ बदलता है | -| symboliclogical.py | AND और OR तार्किक ऑपरेटरों को उनके प्रतीकात्मक समकक्ष \(&& और | +| symboliclogical.py | AND और OR तार्किक ऑपरेटरों को उनके प्रतीकात्मक समकक्षों \(&& और | | unionalltounion.py | UNION ALL SELECT को UNION SELECT के साथ बदलता है | -| unmagicquotes.py | उद्धरण चरित्र \('\) को एक मल्टी-बाइट कॉम्बो %bf%27 के साथ बदलता है, साथ में अंत में एक सामान्य टिप्पणी \(काम करने के लिए\) | +| unmagicquotes.py | उद्धरण चरित्र \('\) को एक मल्टी-बाइट कॉम्बो %bf%27 के साथ बदलता है, साथ में अंत में सामान्य टिप्पणी \(काम करने के लिए\) | | uppercase.py | प्रत्येक कीवर्ड चरित्र को बड़े अक्षर के मान 'INSERT' के साथ बदलता है | | varnish.py | एक HTTP हेडर 'X-originating-IP' जोड़ता है | -| versionedkeywords.py | प्रत्येक गैर-कार्य कीवर्ड को संस्करणित MySQL टिप्पणी के साथ घेरता है | +| versionedkeywords.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}} diff --git a/src/pentesting-web/sql-injection/sqlmap/README.md b/src/pentesting-web/sql-injection/sqlmap/README.md index aa2babd20..20466e67e 100644 --- a/src/pentesting-web/sql-injection/sqlmap/README.md +++ b/src/pentesting-web/sql-injection/sqlmap/README.md @@ -23,6 +23,23 @@ --proxy=http://127.0.0.1:8080 --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 -T ) -D -T
-C #Dump column ``` -Using [SQLMapping](https://taurusomar.github.io/sqlmapping/) यह एक व्यावहारिक उपकरण है जो कमांड उत्पन्न करता है और SQLMap के लिए एक संपूर्ण अवलोकन प्रदान करता है, दोनों बुनियादी और उन्नत। इसमें ToolTips शामिल हैं जो उपकरण के प्रत्येक पहलू को समझाते हैं, हर विकल्प का विवरण देते हैं ताकि आप इसे कुशलता और प्रभावी ढंग से उपयोग करना सीख सकें। +[SQLMapping](https://taurusomar.github.io/sqlmapping/) का उपयोग करते हुए, यह एक व्यावहारिक उपकरण है जो कमांड उत्पन्न करता है और SQLMap के लिए एक संपूर्ण अवलोकन प्रदान करता है, दोनों बुनियादी और उन्नत। इसमें ToolTips शामिल हैं जो उपकरण के प्रत्येक पहलू को समझाते हैं, हर विकल्प का विवरण देते हैं ताकि आप इसे कुशलता और प्रभावी ढंग से उपयोग करना सीख सकें। ## Injection place ### From Burp/ZAP capture -Capture the request and create a req.txt file +अनुरोध को कैप्चर करें और एक req.txt फ़ाइल बनाएं। ```bash sqlmap -r req.txt --current-user ``` -### GET Request Injection +### GET अनुरोध इंजेक्शन ```bash sqlmap -u "http://example.com/?id=1" -p id sqlmap -u "http://example.com/?id=*" -p id ``` -### POST Request Injection +### POST अनुरोध इंजेक्शन ```bash 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 '*' ``` -### इंजेक्शन सफल होने पर स्ट्रिंग इंगित करें +### जब इंजेक्शन सफल हो तो स्ट्रिंग इंगित करें ```bash --string="string_showed_when_TRUE" ``` ### 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 @@ -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 --forms = Parse and test forms ``` -### सेकंड ऑर्डर इंजेक्शन +### दूसरे क्रम का इंजेक्शन ```bash 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:///joomla/administrator/index.php" -D "joomla" -dbs @@ -145,51 +162,54 @@ sqlmap -r r.txt -p id --not-string ridiculous --batch | 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-एन्कोड करता है (पहले से एन्कोडेड को प्रोसेस नहीं करता) | -| 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' जोड़ता है ताकि DBMS लॉग से स्वचालित रूप से छिपाया जा सके | -| space2comment.py | स्पेस चर (' ') को टिप्पणियों के साथ बदलता है | -| space2dash.py | स्पेस चर (' ') को एक डैश टिप्पणी ('--') के साथ बदलता है, इसके बाद एक यादृच्छिक स्ट्रिंग और एक नई पंक्ति ('\n') होती है | -| space2hash.py | स्पेस चर (' ') को एक पाउंड चर ('#') के साथ बदलता है, इसके बाद एक यादृच्छिक स्ट्रिंग और एक नई पंक्ति ('\n') होती है | -| space2morehash.py | स्पेस चर (' ') को एक पाउंड चर ('#') के साथ बदलता है, इसके बाद एक यादृच्छिक स्ट्रिंग और एक नई पंक्ति ('\n') होती है | -| space2mssqlblank.py | स्पेस चर (' ') को वैध वैकल्पिक चर के सेट से एक यादृच्छिक खाली चर के साथ बदलता है | -| space2mssqlhash.py | स्पेस चर (' ') को एक पाउंड चर ('#') के साथ बदलता है, इसके बाद एक नई पंक्ति ('\n') होती है | -| space2mysqlblank.py | स्पेस चर (' ') को वैध वैकल्पिक चर के सेट से एक यादृच्छिक खाली चर के साथ बदलता है | -| space2mysqldash.py | स्पेस चर (' ') को एक डैश टिप्पणी ('--') के साथ बदलता है, इसके बाद एक नई पंक्ति ('\n') होती है | +| apostrophenullencode.py | अपॉस्ट्रॉफ चर को इसके अवैध डबल यूनिकोड समकक्ष के साथ बदलता है | +| appendnullbyte.py | पेलोड के अंत में एन्कोडेड NULL बाइट चर जोड़ता है | +| base64encode.py | दिए गए पेलोड में सभी चर को Base64 में परिवर्तित करता है | +| between.py | बड़े से बड़ा ऑपरेटर ('>') को 'NOT BETWEEN 0 AND #' के साथ बदलता है | +| 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 | दिए गए पेलोड में गैर-एन्कोडेड चर को यूनिकोड-यूआरएल-एन्कोड करता है (पहले से एन्कोडेड को प्रोसेस नहीं करता)। "%u0022" | +| charunicodeescape.py | दिए गए पेलोड में गैर-एन्कोडेड चर को यूनिकोड-यूआरएल-एन्कोड करता है (पहले से एन्कोडेड को प्रोसेस नहीं करता)। "\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 | DBMS लॉग से स्वचालित छिपाने के लिए पेलोड के अंत में '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' जोड़ता है | -| versionedkeywords.py | प्रत्येक गैर-कार्य कीवर्ड को संस्करणित MySQL टिप्पणी के साथ घेरता है | -| versionedmorekeywords.py | प्रत्येक कीवर्ड को संस्करणित MySQL टिप्पणी के साथ घेरता है | -| xforwardedfor.py | एक नकली HTTP हेडर 'X-Forwarded-For' जोड़ता है | +| 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' जोड़ता है | +## References +- [SQLMap: Testing SQL Database Vulnerabilities](https://blog.bughunt.com.br/sqlmap-vulnerabilidades-banco-de-dados/) + {{#include ../../../banners/hacktricks-training.md}}