sql字符型注入、数字型注入、unioni联合注入


b站笔记

什么是sql注入

判断是否发生了sql注入

当输入id=1和id=1 or 1=1时的界面不同的话,那么大概率就是发生了sql注入

注入点

这里面id就是一个注入点

判断是字符型注入还是数字型注入

也可以通过查询id=1是什么内容,id=2的时候是什么内容,再看一下id=2-1是什么内容,如果和id=1的内容是一样的,那么就是数字型注入,因为如果是字符型注入的话,不能进行数字的加减法运算,就会报错

例如:

结果是id=2-1是id=1的结果,那么就是数字型注入

另外只能进行减法,不能加法,因为URL 编码通常使用加号(+)或 %20 替代空格,解码的时候会把+解码成空格

为什么会有这样的结果

对于字符型的来说,and相当于一条语句里面的内容,对于数字型来说,and相当于一条语句,1=2一定为假,那么?id=1 and 1=2 ,这条语句一定为假

闭合

数字型不用再想闭合的事情,只有字符型会有闭合

例如:

union联合注入

使用union一定要前面的指令和后面的指令查询的数据库的列数要一致,所以在用这一条命令的时候,要先查询一下union前面的数据库的多少列数有多少,可以用group by或者order by

group by m:m代表的是列数(用二分法来判断列数)

group by和order by是一样的用法和作用,但是group by不会被防火墙发现

使用举例:

union使用举例:

查找回显位置,把原来的id设置为一个不存在的,让第一行位置查询不出来,那么就可以显示union后面的指令查询出来的信息

sql注入的基础步骤

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值