diff --git a/src/pentesting-web/sql-injection/sqlmap.md b/src/pentesting-web/sql-injection/sqlmap.md index 92c9b6fb0..474e5400c 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 ``` +### Teknik bayrakları (`--technique`) + +`--technique` argümanı, sqlmap'in deneyeceği SQL enjeksiyon yöntemlerini tanımlar. Dizedeki her karakter bir tekniği temsil eder: + +| Harf | Teknik | Açıklama | +| ------ | --------- | ----------- | +| B | Boolean tabanlı kör | Verileri çıkarmak için doğru/yanlış koşullarını kullanır | +| E | Hata tabanlı | Sonuçları dışa aktarmak için ayrıntılı DBMS hata mesajlarını kullanır | +| U | UNION sorgusu | Verileri aynı kanal üzerinden almak için `UNION SELECT` ifadelerini enjekte eder | +| S | Yığılmış sorgular | `;` ile ayrılmış ek ifadeler ekler | +| T | Zaman tabanlı kör | Enjeksiyonu tespit etmek için gecikmelere (`SLEEP`, `WAITFOR`) dayanır | +| Q | Satır içi / dış kanal | `LOAD_FILE()` gibi fonksiyonlar veya DNS gibi OOB kanallar kullanır | + +Varsayılan sıralama `BEUSTQ`'dir. Bunları yeniden düzenleyebilir veya sınırlayabilirsiniz, örneğin sadece Boolean ve Zaman tabanlı bu sırayla: +```bash +sqlmap -u "http://target/?id=1" --technique="BT" --batch +``` ### Bilgi Alımı #### Dahili @@ -97,7 +114,7 @@ sqlmap -u "http://example.com/" --crawl=1 --random-agent --batch --forms --threa ``` ## Enjeksiyonu Özelleştirme -### Bir ek ayarlama +### Bir ek ayarlayın ```bash python sqlmap.py -u "http://example.com/?id=1" -p id --suffix="-- " ``` @@ -121,47 +138,50 @@ sqlmap -r r.txt -p id --not-string ridiculous --batch | apostrophenullencode.py | Apostrof karakterini yasadışı çift unicode karşılığı ile değiştirir | | appendnullbyte.py | Payload'un sonuna kodlanmış NULL byte karakteri ekler | | base64encode.py | Verilen payload'daki tüm karakterleri Base64 ile kodlar | -| between.py | 'BÜYÜK' operatörünü \('>'\) 'NOT BETWEEN 0 AND \#' ile değiştirir | +| between.py | '>' operatörünü 'NOT BETWEEN 0 AND #' ile değiştirir | | bluecoat.py | SQL ifadesinden sonra boşluk karakterini geçerli rastgele boş karakter ile değiştirir. Sonrasında '=' karakterini LIKE operatörü ile değiştirir | -| chardoubleencode.py | Verilen payload'daki tüm karakterleri çift url-kodlar \(zaten kodlanmış olanları işlemiyor\) | +| chardoubleencode.py | Verilen payload'daki tüm karakterleri çift url-encode eder (zaten kodlanmış olanları işlemden geçirmez) | | commalesslimit.py | 'LIMIT M, N' gibi örnekleri 'LIMIT N OFFSET M' ile değiştirir | -| commalessmid.py | 'MID\(A, B, C\)' gibi örnekleri 'MID\(A FROM B FOR C\)' ile değiştirir | -| concat2concatws.py | 'CONCAT\(A, B\)' gibi örnekleri 'CONCAT_WS\(MID\(CHAR\(0\), 0, 0\), A, B\)' ile değiştirir | -| charencode.py | Verilen payload'daki tüm karakterleri url-kodlar \(zaten kodlanmış olanları işlemiyor\) | -| charunicodeencode.py | Verilen payload'daki kodlanmamış karakterleri unicode-url-kodlar \(zaten kodlanmış olanları işlemiyor\). "%u0022" | -| charunicodeescape.py | Verilen payload'daki kodlanmamış karakterleri unicode-url-kodlar \(zaten kodlanmış olanları işlemiyor\). "\u0022" | -| equaltolike.py | Eşitlik operatörünün tüm örneklerini \('='\) 'LIKE' operatörü ile değiştirir | -| escapequotes.py | Ters eğik çizgi ile alıntıları kaçırır \(' ve "\) | -| greatest.py | 'BÜYÜK' operatörünü \('>'\) 'GREATEST' karşılığı ile değiştirir | -| halfversionedmorekeywords.py | Her anahtar kelimenin önüne versiyonlu MySQL yorumu ekler | -| ifnull2ifisnull.py | 'IFNULL\(A, B\)' gibi örnekleri 'IF\(ISNULL\(A\), B, A\)' ile değiştirir | -| modsecurityversioned.py | Tam sorguyu versiyonlu yorum ile sarar | +| commalessmid.py | 'MID(A, B, C)' gibi örnekleri 'MID(A FROM B FOR C)' ile değiştirir | +| concat2concatws.py | 'CONCAT(A, B)' gibi örnekleri 'CONCAT_WS(MID(CHAR(0), 0, 0), A, B)' ile değiştirir | +| charencode.py | Verilen payload'daki tüm karakterleri url-encode eder (zaten kodlanmış olanları işlemden geçirmez) | +| charunicodeencode.py | Verilen payload'daki kodlanmamış karakterleri unicode-url-encode eder (zaten kodlanmış olanları işlemden geçirmez). "%u0022" | +| charunicodeescape.py | Verilen payload'daki kodlanmamış karakterleri unicode-url-encode eder (zaten kodlanmış olanları işlemden geçirmez). "\u0022" | +| equaltolike.py | '==' operatörünün tüm örneklerini 'LIKE' operatörü ile değiştirir | +| escapequotes.py | Ters eğik çizgi ile alıntıları (' ve ") kaçırır | +| greatest.py | '>' operatörünü 'GREATEST' karşılığı ile değiştirir | +| halfversionedmorekeywords.py | Her anahtar kelimenin önüne versiyonlu MySQL yorumu ekler | +| ifnull2ifisnull.py | 'IFNULL(A, B)' gibi örnekleri 'IF(ISNULL(A), B, A)' ile değiştirir | +| modsecurityversioned.py | Tam sorguyu versiyonlu yorum ile sarar | | modsecurityzeroversioned.py | Tam sorguyu sıfır versiyonlu yorum ile sarar | | multiplespaces.py | SQL anahtar kelimelerinin etrafına birden fazla boşluk ekler | -| nonrecursivereplacement.py | Önceden tanımlanmış SQL anahtar kelimelerini değiştirme için uygun temsillerle değiştirir \(örneğin .replace\("SELECT", ""\)\) filtreler | -| percentage.py | Her karakterin önüne bir yüzde işareti \('%'\) ekler | -| overlongutf8.py | Verilen payload'daki tüm karakterleri dönüştürür \(zaten kodlanmış olanları işlemiyor\) | -| randomcase.py | Her anahtar kelime karakterini rastgele büyük/küçük harf değeri ile değiştirir | +| nonrecursivereplacement.py | Önceden tanımlanmış SQL anahtar kelimelerini değiştirme için uygun temsillerle değiştirir (örneğin, .replace("SELECT", "") filtreleri) | +| percentage.py | Her karakterin önüne bir yüzde işareti ('%') ekler | +| overlongutf8.py | Verilen payload'daki tüm karakterleri dönüştürür (zaten kodlanmış olanları işlemden geçirmez) | +| randomcase.py | Her anahtar kelime karakterini rastgele büyük/küçük harf değeri ile değiştirir | | randomcomments.py | SQL anahtar kelimelerine rastgele yorumlar ekler | | securesphere.py | Özel olarak hazırlanmış bir dize ekler | -| sp_password.py | Payload'un sonuna 'sp_password' ekler, DBMS günlüklerinden otomatik olarak gizlenmesi için | -| space2comment.py | Boşluk karakterini \(' '\) yorumlarla değiştirir | -| space2dash.py | Boşluk karakterini \(' '\) bir tire yorumu \('--'\) ile değiştirir, ardından rastgele bir dize ve yeni bir satır \('\n'\) ekler | -| space2hash.py | Boşluk karakterini \(' '\) bir pound karakteri \('\#'\) ile değiştirir, ardından rastgele bir dize ve yeni bir satır \('\n'\) ekler | -| space2morehash.py | Boşluk karakterini \(' '\) bir pound karakteri \('\#'\) ile değiştirir, ardından rastgele bir dize ve yeni bir satır \('\n'\) ekler | -| space2mssqlblank.py | Boşluk karakterini \(' '\) geçerli alternatif karakterler setinden rastgele bir boş karakter ile değiştirir | -| space2mssqlhash.py | Boşluk karakterini \(' '\) bir pound karakteri \('\#'\) ile değiştirir, ardından yeni bir satır \('\n'\) ekler | -| space2mysqlblank.py | Boşluk karakterini \(' '\) geçerli alternatif karakterler setinden rastgele bir boş karakter ile değiştirir | -| space2mysqldash.py | Boşluk karakterini \(' '\) bir tire yorumu \('--'\) ile değiştirir, ardından yeni bir satır \('\n'\) ekler | -| space2plus.py | Boşluk karakterini \(' '\) artı \('+'\) ile değiştirir | -| space2randomblank.py | Boşluk karakterini \(' '\) geçerli alternatif karakterler setinden rastgele bir boş karakter ile değiştirir | -| symboliclogical.py | AND ve OR mantıksal operatörlerini sembolik karşılıkları ile değiştirir \(&& ve | +| sp_password.py | Payload'un sonuna 'sp_password' ekler, DBMS günlüklerinden otomatik olarak gizlenmek için | +| space2comment.py | Boşluk karakterini (' ') yorumlarla değiştirir | +| space2dash.py | Boşluk karakterini (' ') bir tire yorumu ('--') ile değiştirir, ardından rastgele bir dize ve yeni bir satır ('\n') ekler | +| space2hash.py | Boşluk karakterini (' ') bir pound karakteri ('#') ile değiştirir, ardından rastgele bir dize ve yeni bir satır ('\n') ekler | +| space2morehash.py | Boşluk karakterini (' ') bir pound karakteri ('#') ile değiştirir, ardından rastgele bir dize ve yeni bir satır ('\n') ekler | +| space2mssqlblank.py | Boşluk karakterini (' ') geçerli bir alternatif karakter setinden rastgele bir boş karakter ile değiştirir | +| space2mssqlhash.py | Boşluk karakterini (' ') bir pound karakteri ('#') ile değiştirir, ardından yeni bir satır ('\n') ekler | +| space2mysqlblank.py | Boşluk karakterini (' ') geçerli bir alternatif karakter setinden rastgele bir boş karakter ile değiştirir | +| space2mysqldash.py | Boşluk karakterini (' ') bir tire yorumu ('--') ile değiştirir, ardından yeni bir satır ('\n') ekler | +| space2plus.py | Boşluk karakterini (' ') artı ('+') ile değiştirir | +| space2randomblank.py | Boşluk karakterini (' ') geçerli bir alternatif karakter setinden rastgele bir boş karakter ile değiştirir | +| symboliclogical.py | AND ve OR mantıksal operatörlerini sembolik karşılıkları ile değiştirir (&& ve | | unionalltounion.py | UNION ALL SELECT'i UNION SELECT ile değiştirir | -| unmagicquotes.py | Alıntı karakterini \('\) çok baytlı bir kombinasyon %bf%27 ile değiştirir, sonunda genel bir yorum ekler \(çalışması için\) | +| unmagicquotes.py | Alıntı karakterini (') çok baytlı bir kombinasyon %bf%27 ile değiştirir, sonunda genel bir yorum ile (çalışması için) | | uppercase.py | Her anahtar kelime karakterini büyük harf değeri 'INSERT' ile değiştirir | | varnish.py | Bir HTTP başlığı 'X-originating-IP' ekler | -| versionedkeywords.py | Her işlev olmayan anahtar kelimeyi versiyonlu MySQL yorumu ile sarar | -| versionedmorekeywords.py | Her anahtar kelimeyi versiyonlu MySQL yorumu ile sarar | +| versionedkeywords.py | Her işlev olmayan anahtar kelimeyi versiyonlu MySQL yorumu ile sarar | +| versionedmorekeywords.py | Her anahtar kelimeyi versiyonlu MySQL yorumu ile sarar | | xforwardedfor.py | Sahte bir HTTP başlığı 'X-Forwarded-For' ekler | +## Referanslar +- [SQLMap: SQL Veritabanı Açıklarını Test Etme](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 7d13d0ded..969d146bf 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 ``` +### Teknik bayrakları (`--technique`) + +`--technique` seçeneği, sqlmap'in test edeceği SQL enjeksiyon tekniklerini kısıtlamanıza veya yeniden sıralamanıza olanak tanır. Her harf, farklı bir yük sınıfına karşılık gelir: + +| Harf | Teknik | Açıklama | +| ------ | --------- | ----------- | +| B | Boolean tabanlı kör | Sonuçları çıkarmak için sayfa yanıtındaki doğru/yanlış koşullarını kullanır | +| E | Hata tabanlı | Veri çıkarmak için ayrıntılı DBMS hata mesajlarını kullanır | +| U | UNION sorgusu | Aynı kanal üzerinden veri almak için `UNION SELECT` ifadelerini enjekte eder | +| S | Yığılmış sorgular | SQL ayırıcı (`;`) ile ayrılmış ek ifadeler ekler | +| T | Zaman tabanlı kör | Enjekte edilebilir koşulları tespit etmek için `SLEEP/WAITFOR` gecikmelerine dayanır | +| Q | Satır içi / bant dışı | Veri çıkarmak için `LOAD_FILE()` veya DNS sızdırma gibi işlevleri kullanır | + +sqlmap'in takip edeceği varsayılan sıra `BEUSTQ`'dir (tüm teknikler). Hem sıralamayı hem de alt kümesini değiştirebilirsiniz. Örneğin, aşağıdaki komut **sadece** UNION sorgusu ve Zaman tabanlı kör tekniklerini deneyecek, önce UNION'u deneyecektir: +```bash +sqlmap -u "http://target.tld/page.php?id=1" --technique="UT" --batch +``` ### Bilgi Alımı #### Dahili @@ -43,7 +60,7 @@ --columns #Columns of a table ( -D -T ) -D -T
-C #Dump column ``` -[SQLMapping](https://taurusomar.github.io/sqlmapping/) kullanarak, SQLMap için hem temel hem de ileri düzey komutlar üreten ve kapsamlı bir genel bakış sağlayan pratik bir araçtır. Araçla ilgili her yönü açıklayan ToolTip'ler içerir, her seçeneği detaylandırarak onu verimli ve etkili bir şekilde nasıl kullanacağınızı anlamanızı ve geliştirmenizi sağlar. +[SQLMapping](https://taurusomar.github.io/sqlmapping/) kullanarak, SQLMap için hem temel hem de ileri düzey komutlar üreten ve kapsamlı bir genel bakış sağlayan pratik bir araçtır. Araçtaki her bir yönü açıklayan ToolTip'ler içerir, böylece her seçeneği detaylandırarak onu verimli ve etkili bir şekilde nasıl kullanacağınızı geliştirebilir ve anlayabilirsiniz. ## Enjeksiyon yeri @@ -82,7 +99,7 @@ sqlmap --method=PUT -u "http://example.com" --headers="referer:*" ``` ### Tespit Tekniği Ekle -Eğer bir SQLi bulduysanız ama sqlmap bunu tespit etmediyse, `--prefix` veya `--suffix` gibi argümanlarla tespit tekniğini zorlayabilirsiniz, ya da daha karmaşık bir durumda, bunu sqlmap tarafından kullanılan payload'lara ekleyebilirsiniz, örneğin `/usr/share/sqlmap/data/xml/payloads/time_blind.xml` dosyasında zaman körlüğü tabanlı için. +Eğer bir SQLi bulduysanız ama sqlmap bunu tespit etmediyse, `--prefix` veya `--suffix` gibi argümanlarla tespit tekniğini zorlayabilirsiniz, ya da daha karmaşık bir durumda, bunu sqlmap tarafından kullanılan payload'lara ekleyebilirsiniz, örneğin `/usr/share/sqlmap/data/xml/payloads/time_blind.xml` dosyasında zaman körlüğüne dayalı olarak. ### Eval @@ -118,7 +135,7 @@ sqlmap -u "http://example.com/" --crawl=1 --random-agent --batch --forms --threa 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 ``` -[**Bu yazıyı okuyun** ](second-order-injection-sqlmap.md)**sqlmap ile basit ve karmaşık ikinci derece enjeksiyonları nasıl gerçekleştireceğiniz hakkında.** +[**Bu yazıyı okuyun** ](second-order-injection-sqlmap.md)**sqlmap ile basit ve karmaşık ikinci derece enjeksiyonların nasıl gerçekleştirileceği hakkında.** ## Enjeksiyonu Özelleştirme @@ -146,50 +163,53 @@ Unutmayın ki **kendi tamper'ınızı python ile oluşturabilirsiniz** ve bu ço | ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------- | | apostrophemask.py | Apostrof karakterini UTF-8 tam genişlik karşılığı ile değiştirir | | apostrophenullencode.py | Apostrof karakterini yasadışı çift unicode karşılığı ile değiştirir | -| appendnullbyte.py | Payload'un sonuna kodlanmış NULL byte karakteri ekler | -| base64encode.py | Verilen payload'daki tüm karakterleri Base64 ile kodlar | -| between.py | '>' operatörünü 'NOT BETWEEN 0 AND #' ile değiştirir | -| bluecoat.py | SQL ifadesinden sonra boşluk karakterini geçerli rastgele boş karakter ile değiştirir. Sonrasında karakter = ile LIKE operatörünü değiştirir | -| chardoubleencode.py | Verilen payload'daki tüm karakterleri çift url-kodlar (zaten kodlanmış olanları işlemden geçirmez) | +| appendnullbyte.py | Yükün sonuna kodlanmış NULL byte karakteri ekler | +| base64encode.py | Verilen yükteki tüm karakterleri Base64 ile kodlar | +| between.py | '>' operatörünü 'NOT BETWEEN 0 AND #' ile değiştirir | +| bluecoat.py | SQL ifadesinden sonra boşluk karakterini geçerli rastgele boş karakter ile değiştirir. Sonrasında '=' karakterini LIKE operatörü ile değiştirir | +| chardoubleencode.py | Verilen yükteki tüm karakterleri çift url-kodlar (zaten kodlanmış olanları işlemden geçirmez) | | commalesslimit.py | 'LIMIT M, N' gibi örnekleri 'LIMIT N OFFSET M' ile değiştirir | | commalessmid.py | 'MID(A, B, C)' gibi örnekleri 'MID(A FROM B FOR C)' ile değiştirir | | concat2concatws.py | 'CONCAT(A, B)' gibi örnekleri 'CONCAT_WS(MID(CHAR(0), 0, 0), A, B)' ile değiştirir | -| charencode.py | Verilen payload'daki tüm karakterleri url-kodlar (zaten kodlanmış olanları işlemden geçirmez) | -| charunicodeencode.py | Verilen payload'daki kodlanmamış karakterleri unicode-url-kodlar (zaten kodlanmış olanları işlemden geçirmez). "%u0022" | -| charunicodeescape.py | Verilen payload'daki kodlanmamış karakterleri unicode-url-kodlar (zaten kodlanmış olanları işlemden geçirmez). "\u0022" | +| charencode.py | Verilen yükteki tüm karakterleri url-kodlar (zaten kodlanmış olanları işlemden geçirmez) | +| charunicodeencode.py | Verilen yükteki kodlanmamış karakterleri unicode-url-kodlar (zaten kodlanmış olanları işlemden geçirmez). "%u0022" | +| charunicodeescape.py | Verilen yükteki kodlanmamış karakterleri unicode-url-kodlar (zaten kodlanmış olanları işlemden geçirmez). "\u0022" | | equaltolike.py | Eşit ('=') operatörünün tüm örneklerini 'LIKE' operatörü ile değiştirir | -| escapequotes.py | Ters eğik çizgi ile alıntıları (' ve ") kaçar | -| greatest.py | '>' operatörünü 'GREATEST' karşılığı ile değiştirir | +| escapequotes.py | Alıntı işaretlerini (' ve ") ters eğik çizgi ile kaçırır | +| greatest.py | '>' operatörünü 'GREATEST' karşılığı ile değiştirir | | halfversionedmorekeywords.py | Her anahtar kelimenin önüne versiyonlu MySQL yorumu ekler | -| ifnull2ifisnull.py | 'IFNULL(A, B)' gibi örnekleri 'IF(ISNULL(A), B, A)' ile değiştirir | -| modsecurityversioned.py | Tam sorguyu versiyonlu yorum ile sarar | -| modsecurityzeroversioned.py | Tam sorguyu sıfır versiyonlu yorum ile sarar | +| ifnull2ifisnull.py | 'IFNULL(A, B)' gibi örnekleri 'IF(ISNULL(A), B, A)' ile değiştirir | +| modsecurityversioned.py | Tam sorguyu versiyonlu yorum ile sarar | +| modsecurityzeroversioned.py | Tam sorguyu sıfır versiyonlu yorum ile sarar | | multiplespaces.py | SQL anahtar kelimelerinin etrafına birden fazla boşluk ekler | -| nonrecursivereplacement.py | Önceden tanımlanmış SQL anahtar kelimelerini değiştirme için uygun temsillerle değiştirir (örneğin, .replace("SELECT", "")) filtreler | +| nonrecursivereplacement.py | Önceden tanımlanmış SQL anahtar kelimelerini değiştirme için uygun temsillerle değiştirir (örneğin, .replace("SELECT", "")) filtreleri | | percentage.py | Her karakterin önüne bir yüzde işareti ('%') ekler | -| overlongutf8.py | Verilen payload'daki tüm karakterleri dönüştürür (zaten kodlanmış olanları işlemden geçirmez) | -| randomcase.py | Her anahtar kelime karakterini rastgele büyük/küçük harf değeri ile değiştirir | +| overlongutf8.py | Verilen yükteki tüm karakterleri dönüştürür (zaten kodlanmış olanları işlemden geçirmez) | +| randomcase.py | Her anahtar kelime karakterini rastgele büyük/küçük harf değeri ile değiştirir | | randomcomments.py | SQL anahtar kelimelerine rastgele yorumlar ekler | -| securesphere.py | Özel olarak hazırlanmış bir dize ekler | -| sp_password.py | Payload'un sonuna 'sp_password' ekler, DBMS günlüklerinden otomatik olarak gizlenmesi için | +| securesphere.py | Özel olarak hazırlanmış bir dize ekler | +| sp_password.py | Yükün sonuna 'sp_password' ekler, böylece DBMS günlüklerinden otomatik olarak gizlenir | | space2comment.py | Boşluk karakterini (' ') yorumlarla değiştirir | | space2dash.py | Boşluk karakterini (' ') bir tire yorumu ('--') ile değiştirir, ardından rastgele bir dize ve yeni bir satır ('\n') ekler | | space2hash.py | Boşluk karakterini (' ') bir pound karakteri ('#') ile değiştirir, ardından rastgele bir dize ve yeni bir satır ('\n') ekler | | space2morehash.py | Boşluk karakterini (' ') bir pound karakteri ('#') ile değiştirir, ardından rastgele bir dize ve yeni bir satır ('\n') ekler | -| space2mssqlblank.py | Boşluk karakterini (' ') geçerli alternatif karakterler setinden rastgele bir boş karakter ile değiştirir | -| space2mssqlhash.py | Boşluk karakterini (' ') bir pound karakteri ('#') ile değiştirir, ardından yeni bir satır ('\n') ekler | -| space2mysqlblank.py | Boşluk karakterini (' ') geçerli alternatif karakterler setinden rastgele bir boş karakter ile değiştirir | +| space2mssqlblank.py | Boşluk karakterini (' ') geçerli bir alternatif karakter setinden rastgele bir boş karakter ile değiştirir | +| space2mssqlhash.py | Boşluk karakterini (' ') bir pound karakteri ('#') ile değiştirir, ardından yeni bir satır ('\n') ekler | +| space2mysqlblank.py | Boşluk karakterini (' ') geçerli bir alternatif karakter setinden rastgele bir boş karakter ile değiştirir | | space2mysqldash.py | Boşluk karakterini (' ') bir tire yorumu ('--') ile değiştirir, ardından yeni bir satır ('\n') ekler | | space2plus.py | Boşluk karakterini (' ') artı ('+') ile değiştirir | -| space2randomblank.py | Boşluk karakterini (' ') geçerli alternatif karakterler setinden rastgele bir boş karakter ile değiştirir | +| space2randomblank.py | Boşluk karakterini (' ') geçerli bir alternatif karakter setinden rastgele bir boş karakter ile değiştirir | | symboliclogical.py | AND ve OR mantıksal operatörlerini sembolik karşılıkları ile değiştirir (&& ve | | unionalltounion.py | UNION ALL SELECT'i UNION SELECT ile değiştirir | -| unmagicquotes.py | Alıntı karakterini (') çok baytlı kombinasyon %bf%27 ile değiştirir, sonunda genel bir yorum ekler (çalışması için) | +| unmagicquotes.py | Alıntı karakterini (') çok baytlı bir kombinasyon %bf%27 ile değiştirir ve sonunda genel bir yorum ekler (çalışması için) | | uppercase.py | Her anahtar kelime karakterini büyük harf değeri 'INSERT' ile değiştirir | | varnish.py | Bir HTTP başlığı 'X-originating-IP' ekler | -| versionedkeywords.py | Her işlev olmayan anahtar kelimeyi versiyonlu MySQL yorumu ile sarar | -| versionedmorekeywords.py | Her anahtar kelimeyi versiyonlu MySQL yorumu ile sarar | -| xforwardedfor.py | Sahte bir HTTP başlığı 'X-Forwarded-For' ekler | +| versionedkeywords.py | Her işlev olmayan anahtar kelimeyi versiyonlu MySQL yorumu ile sarar | +| versionedmorekeywords.py | Her anahtar kelimeyi versiyonlu MySQL yorumu ile sarar | +| xforwardedfor.py | Sahte bir HTTP başlığı 'X-Forwarded-For' ekler | +## References +- [SQLMap: Testing SQL Database Vulnerabilities](https://blog.bughunt.com.br/sqlmap-vulnerabilidades-banco-de-dados/) + {{#include ../../../banners/hacktricks-training.md}}