SQL注入
1.什么是SQL注入
通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令
2.SQL注入的两个条件:
a.用户能够控制数据输入。b.原本要执行的代码,拼接了用户的输入
3.攻击的方式:
a.盲注:在服务器没有错误信息回显时完成的注入攻击
b.Timing Attack攻击
c.数据库攻击技巧:1.union select 2..用户自定以函数(UDF)3.攻击存储过程。4.编码问题。5.SQL的sql-model模式
4.正确的防御方式:
a.使用预编译语句
b.使用存储过程
c.检查数据类型
d.使用安全函数
在系统设计的一项原则: 数据库和代码要分离(代码服务器和数据库服务器)