深入了解SQL注入
2018-02-07 14:30
447 查看
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 的更是方便,比如:
您可能感兴趣的文章:
相关文章推荐
- 深入了解SQL注入绕过waf和过滤机制
- 深入了解SQL注入绕过waf和过滤机制
- 深入了解SQL注入绕过waf和过滤机制
- 深入了解SQL注入绕过waf和过滤机制
- 深入了解SQL注入绕过waf和过滤机制
- 深入react技术栈--(1)简单了解
- SQL2005-深入了解SSIS中记录集的应用
- 深入了解webservice_概念总结
- 深入了解spring的ioc
- Android视图绘制流程完全解析,带你一步步深入了解View(二)
- 带您深入了解硬盘分区表
- 深入了解回滚表空间丢失的解决方法
- http协议学习和总结系列--深入了解篇
- 了解 SQL注入
- 深入了解scanf()/getchar()和gets()等函数
- 深入了解 HTML 5
- 是否需要深入了解java平台
- 深入了解android平台的jni---图像灰度化处理
- Android LayoutInflater原理分析,带你一步步深入了解View(一)
- 深入了解View实现原理以及自定义View详解