第二章-SQL注入漏洞(数字型注入+字符型注入)

第二章-SQL注入漏洞(学习笔记)

数字型注入

数字型注入就是指注入点的数据类型为数字型,没有用单引号引起来。代码示例如下:
在这里插入图片描述

  • 在WHERE id=$ id这个SQL语句的句子中,$id变量没有用单引号或者双引号一起来,而是直接拼接到了后面,这便是典型的数字型注入。
  • 判断数字型注入的方法:
  1. 输入单引号,不正常返回:
    如果用户提交index.php?id=1‘,那么后面的SQL语句就会变成SELECT*FROM users WHERE id=1’ LIMIT 0,1,SQL语句本身存在语法错误,所以会有不正常回显。
  2. 输入and 1=1,正常返回:
    如果用户提交了index.php?id=1 and 1=1,那么后面的SQL语句会变成SELECT*FROM users WHERE id=1 and 1=1 LIMIT 0,1,会有正常的结果返回。
  3. 输入and 1=2,不正常返回:
    如果用户提交了index.php?id=1 and 1=2,那么后面的SQL语句会变成SELECT*FROM users WHERE id=1 and 1=2 LIMIT 0,1,会有不正常的结果返回。

字符型注入

字符型注入就是注入点的数据类型是字符型。与数字型的区别在于字符型注入要用一对单引号引起来。代码如下:
在这里插入图片描述
判断字符型的方法如下:

  1. 输入单引号,不正常返回:
    如果用户提交index.php?id=1‘,那么后面的SQL语句就会变成SELECT*FROM users WHERE id=1’ LIMIT 0,1,SQL语句本身存在语法错误,所以会有不正常回显。
  2. 输入’ and ‘1’=‘1,正常返回
    如果用户提交index.php?id=1’ and ‘1’ = '1,那么后面的SQL语句就会变成SELECT*FROM users WHERE id=‘id=1’ and ‘1’ = '1’LIMIT 0,1,会有正常回显。
  3. 输入’and’1’=‘2,不正常返回
    如果用户提交index.php?id=1’ and ‘1’ = '2,那么后面的SQL语句就会变成SELECT*FROM users WHERE id=‘id=1’ and ‘1’ = '2’LIMIT 0,1,会有不正常回显。
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值