sql注入
2018-10-21 23:15
92 查看
攻击方式:
服务器上的数据库运行非法的SQL语句,主要通过拼接字符串的形式来完成,改变sql语句本身的语义。通过sql语句来实现无账号登录,甚至篡改数据库。
防御:
使用参数化查询:使用预编译语句,预先编译的 SQL 语句,并且传入适当参数多次执行。由于没有拼接的过程,因此可以防止 SQL 注入的发生。 使用preparedStatement的参数化sql,通过先确定语义,再传入参数,就不会因为传入的参数改变sql的语义。(通过setInt,setString,setBoolean传入参数)
单引号转换:将传入的参数中的单引号转换为连续两个单引号,PHP 中的 Magic quote 可以完成这个功能。
检查变量数据类型和格式。
使用正则表达式过滤传入的参数,对特殊符号过滤或者转义处理。
相关文章推荐
- SQL注入原理-万能密码注入
- 【Python】实现批量网址自动爬行sql注入点分析+源码分析
- 通过DVWA学习SQL注入漏洞
- OWASP——SQL注入(一)
- php 使用PDO,防止sql注入 简单说明
- 高级SQL注入:混淆和绕过
- 关于SQL注入中文件读写的方法总结
- 如何通过SQL注入获取服务器本地文件
- 初识sql注入及sqlmap
- SQL注入剖析
- SQL注入原理讲解及防范
- 实验吧 简单的sql注入
- 二阶SQL注入理解与体会
- 第二百八十一节,MySQL数据库-SQL注入和pymysql模块防止SQL注入
- Java 防SQL注入方法
- SQL注入检测方法
- mybatis防止sql注入
- SQL注入学习(一)
- mybatis解决sql注入问题
- 170606、防止sql注入(三)