无列名注入
十一月 23, 2021
替换列名
在information_schema被ban的情况下使用无列名注入
表名可以用
sys.schema_auto_increment_columns()
sys.schema_table_statistics_with_buffer
在sql语句中可以用select和union组合可以替换列名
select 1,2,3 union select*from table
table中的列名会被替换成1,2,3
select `1`from(select1,2,3 union select *from table)a
这样就可查出table表第一列的内容,实际上替换列名只是创建了一张临时表,所以在后面加了a给这个临时表命名
字符串比较
在union和报错都被过滤的情况下,用字符串比较进行盲注
在sql中字符串比较会取出要对比的第一个字符,先进行对比,如错误就直接返回false,正确才会进行下一位的比较
基本的playload
select 1,’a’ >select*from table
join报错
输出flag时有其他字符干扰,且输出长度受限
在sql注入的语句的末尾添加regexp函数进行对输出字符串的正则匹配,基本用【^f】匹配以f开头的字符
用right,left函数让字符串从左右输出
用substr输出任意位置任意长度的字符
用reverse倒叙输出字符
配合python的切片-1,来正序
1 | y='' |
查看评论