Web安全系(五):SQL注入(SQL Injection)Web安全息息相关(五):SQL注入(SQL Injection)

简介

简介

  SQL注入攻击指的凡透过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的片组合,通过推行SQL语句进而实施攻击者所假设的操作,其关键因是程序尚未仔细地过滤用户输入的数目,致使非法数据侵入系统。

  SQL注入攻击指的是由此构建特殊之输入作为参数传入Web应用程序,而这些输入大都是SQL语法里之片段构成,通过实行SQL语句进而实施攻击者所而之操作,其关键原因是先后没有仔细地过滤用户输入的多少,致使非法数据侵入系统。

  根据相关技术原理,SQL注入可以分为平台层注入及代码层注入。前者由非安全的数据库配置或者数据库平台的纰漏所赋;后者主要是由于程序员对输入未开展精心地过滤,从而执行了地下的数量查询。基于这个,SQL注入的来原因通常表现在以下几方:

  根据相关技术原理,SQL注入可以分为平台层注入及代码层注入。前者由非安全之数据库配置或者数据库平台的尾巴所给予;后者主要是由程序员对输入未开展周密地过滤,从而执行了地下的多少查询。基于这个,SQL注入的产生原因通常表现在偏下几者:

  1.
不当的种类处理;

  1.
不宜之类别处理;

  2.
无安全之数据库配置;

  2.
未安全的数据库配置;

  3.
休成立之查询集处理;

  3.
免客观的查询集处理;

  4.
不当之错误处理;

  4.
不当的错误处理;

  5.
转义字符处理不对路;

  5.
转义字符处理不得体;

  6.
几近个提交处理不当。

  6.
大多单提交处理不当。

 

 

防止SQL注入

防止SQL注入

  1.
永恒不要相信用户之输入。对用户之输入进行校验,可以透过正则表达式,或限制长度;对单引号和对”-“进行换等。

  1.
永久不要相信用户的输入。对用户之输入进行校验,可以由此正则表达式,或限制长度;对单引号和对”-“进行转移等。

  2.
永久不要动动态拼装sql,可以利用参数化的sql或者直接运用存储过程进行多少查询存取。(不要拼sql,使用参数化)

  2.
千古不要以动态拼装sql,可以以参数化的sql或者直接使用存储过程进展数量查询存取。(不要拼sql,使用参数化)

  3.
千古不要采用管理员权限的数据库连接,为每个应用使用单独的权能有限的数据库连接。(给程序分配合理的数据库操作权限)

  3.
世代不要采用管理员权限的数据库连接,为每个应用使用单独的权有限的数据库连接。(给程序分配合理的数据库操作权限)

  4.
不用把机密信息直接存放,加密或hash掉密码与机智的消息。(敏感信息加密)

  4.
毫无把机密信息直接存放,加密要么hash掉密码与伶俐的音。(敏感信息加密)

  5.
运之挺信息应该被来尽可能少的提示,最好使用自定义的错误信息对原本错误信息进行包装。

  5.
下的良信息应于来尽可能少的提拔,最好以由定义的错误信息对原错误信息进行打包。

 

 

章转载自:http://www.cnblogs.com/Erik_Xu/p/5514879.html

文章转载自:http://www.cnblogs.com/Erik_Xu/p/5514879.html

相关文章

admin

网站地图xml地图