bugku 成绩查询

最近刚好在了解sql注入的一些知识,然后刚好刷到了这题,记录一下我的思路吧~
看到题目页面一个输入框就觉得是和sql注入有关的题目了,首先查看网页源代码:
在这里插入图片描述
看到name=id,在火狐浏览器用maxhackerbar打开传递参数试试:
在这里插入图片描述
成功查到了成绩单,并且切换1,2,3都可以成功,再判断是字符型注入还是数值型注入:
id=1成功查询,id=1’查询失败,id=1’#查询成功,所以该注入类型为字符型注入。
简单说明一下为什么:
如果是数值型注入:where id =1 成功 where id=1’失败 where id = 1’# 还是会失败
如果是字符型注入:where id=‘1’成功 where id =‘1’‘失败 where id =‘1’#’ 成功 因为#会注释掉后面的字符 就相当于 where id =‘1’

然后再查询字符段的数目:
这里需要使用联合查询:
在这里插入图片描述
select 1 到 select 1,2,3都不成功 只有到select 1,2,3,4才成功,说明有四个字符段,为什么要判断字符段的个数呢,因为union查询需要前后字符段数一致,所以我们的一个个去试。
然后就可以查询数据库名了:
在这里插入图片描述
回显:
在这里插入图片描述
说明数据库名为skctf
然后再查询表名:
d=11’ union select 1,2,3,table_name from information_schema.tables where table_schema=‘skctf’ #
查询出表名为:
在这里插入图片描述
接下再查询列名:
id=11’ union select 1,2,3,column_name from information_schema.columns where table_name=‘fl4g’ #
查询到列名为:
在这里插入图片描述
最后查询列的内容:
在这里插入图片描述
即可拿下

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值