sql注入

什么是sql注入?

攻击者利用Web应用程序对用户输入验证上的疏忽,在输入的数据中包含对某些数据库系统有特殊意义的符号或命令,让攻击者有机会直接对后台数据库系统下达指令,进而实现对后 台数据库乃至整个应用系统的入侵。

sql注入原理?

服务端没有过滤用户输入的恶意数据,直接把用户输入的数据当做SQL语句执行,从而影响数据库安全和v平台安全。

两个条件

用户能够控制输入
原本程序要执行的SQL语句,拼接了用户输入的恶意数据

sql注入过程

在这里插入图片描述

判断是否可以注入

**最简单粗暴的方式验证一下,即在参数后面加一个单引号’,看网页的变化:

在这里插入图片描述

网页源码:

$sql="SELECT * FROM users WHERE id='$id' LIMIT 0,1";
$result=mysql_query($sql);
$sql="SELECT * FROM users WHERE id=$id LIMIT 0,1";
$result=mysql_query($sql);

可以得出我们在输入 1’的时候,加进去的的单引号在变量id的后面与前面的单引号构成了闭合,原来的后半个单引号成了多余的符号,所以查询语句不能正常理解而报错。由此可以判断此处存在注入漏洞了。

sql注入的分类

按照注入点类型分类
  数字型(整型)注入
  字符型注入
  搜索型注入
按照注入技术(执行效果)分类
  基于布尔的盲注
  基于时间的盲注
  基于报错的注入
  联合查询注入
  堆查询注入
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值