发生于数据层的安全漏洞,在输入数据字符串中夹带SQL指令,在设计不良的程序中忽略了检查。

主要原因
使用字符串连接方式组合SQL指令
使用权限过大的账户
开放了不必要但权力过大的功能
太过于信任用户所输入的数据,未限制输入的字符数,以及未对用户输入的数据做潜在指令的检查

注入原理
组合SQL命令字符串,未针对单引号字符串做取代处理的话,将导致该字符串变量在填入命令字符串时,被恶意篡改原本的

SQL语法的作用。

危害
使用他人ID登陆系统
到取数据库中非授权数据
恶意删除/修改 数据库/数据表/纪录
修改或更改操作系统
获得系统更高极权限
破坏硬盘数据

防御SQL注入式攻击
完全使用参数化查询
先针对传入参数做字符取代
使用其它更安全的方式连接SQL数据库例如已经修正过SQL注入问题的数据库连接组件。例如ASP.NET的SqlDataSource对

象或是LINQ to SQL
使用SQL防注入系统。
posted on 2010-01-23 23:56  IT Person  阅读(365)  评论(0编辑  收藏  举报