web安全之SQL注入

本文介绍了SQL注入攻击的基本原理,包括其产生原因、攻击手法及如何寻找和实施SQL注入漏洞。通过实例展示了数字注入和字符串注入两种常见攻击方式。

一、sql注入是一种将sql代码添加到输入参数中

传递到sql服务器解析并执行得一种攻击手法

例:

$sql = "SELECT * FROM goods WHERE Id = 1";

查询的结果是Id为1的商品信息,下面将演示sql攻击手法

例:

$sql = "SELECT * FROM goods WHERE Id = -1 OR 1=1";

Id一般是正序自增数,OR后的1=1肯定为真,所以查询的结果集是所有商品,从而实现恶意攻击

二、sql是由以下几点产生的

1、web开发人员没有过滤的参数

2、攻击者恶意制造可执行的sql代码

3、数据库未做相应的安全配置

三、如何寻找sql注入漏洞

1、识别web应用中所有输入点

2、有些类型的请求会产生异常(添加多于的符号,攻击sql语句)

四、如何进行sql注入攻击

1、数字注入

2、字符串攻击(‘#,’--)

$sql = "SELECT * FROM user WHERE Name = 'MrsJon'#' AND PassWord ='m8asdh7wedbsa'";

sql会无视#号后面的语句,即便不需要密码,也一样能登陆进入系统

 

转载于:https://www.cnblogs.com/zhoupeng-php/p/8465706.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值