一、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会无视#号后面的语句,即便不需要密码,也一样能登陆进入系统