您的位置 首页 php

跟着MISS了解 SQL注入

1 .什么是 sql注入 SQL injection)?

Sql注入是一种将sql代码添加到输入参数中,传递到Sql服务器解析并执行的一种攻击手法

2. 怎么产生的?

  • Web开发人员无法保证所有的输入都已经过滤

  • 攻击者利用发送给Sql服务器的输入数据构造可执行的Sql代码

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

3.如何寻找sql漏洞?

  • 识别web应用中所有输入点

  • 了解哪些类型的请求会触发异常?(特殊字符”或’)

  • 检测服务器响应中的异常

4. 如何进行 SQL注入攻击

数字注入:

Select * from tablename where id=1 or 1=1;

字符串 注入:

Mysql 的注释特性:

#与–号后面的被注释掉,无论密码输入的是什么,都能正确查询。请点击此处输入图片描述

5. 如何预防sql注入?

严格检查输入格式: is_numeric( var ),tp5的validate验证,字符串的注入采用正则看是否在[A-Za-z]之间

转义: addslashes(str)、

MySQLi _escape_string()函数进行转义

6.MySQLi的预编译机制

参数化绑定

参数化绑定,防止 SQL 注入的又一道屏障。php MySQLi 和 PDO 均提供这样的功能。比如 MySQLi 可以这样去查询:

PDO 的更是方便,比如:

文章来源:智云一二三科技

文章标题:跟着MISS了解 SQL注入

文章地址:https://www.zhihuclub.com/79379.shtml

关于作者: 智云科技

热门文章

网站地图