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 的更是方便,比如:
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/8243.html