English
 电子信箱
 加入收藏

  威盾防火墙 >> 新闻中心 >> 业界动态 >> ASP程序防止SQL注入的最好办法?

 

ASP程序防止SQL注入的最好办法?

威盾防火墙 2015-01-30

 
1.没有正确过滤特殊字符,例如单引号和分号如果你的sql语句是这样,又没过滤“’”单引号:"SELECT * FROM tables WHERE param = '" + RequestString+ "'; "攻击者将用户名变量(即RequestString)设置为:a' or 't'='t此时原始语句发生了变化:SELECT * FROM tables WHERE param = 'a' OR 't'='t'; 如果这种代码被用于一个认证过程,那么这个例子就能够强迫选择一个合法的用户名,因为赋值't'='t永远是正确的。这种方式是跳过身份认证的最简单手段再配合“;”分号可以进行更多的sql注入攻击";"分号用来执行多个语句。下面语句中的RequestString的值将会导致删除“tables”表,又可以从“dataTables”表中选择所有的数据(实际上就是透露了每一个用户的信息)。a'; DROP TABLE tables; SELECT * FROM dataTables WHERE param LIKE '%这就将最终的SQL语句变成下面这个样子:SELECT * FROM tables WHERE param = 'a'; DROP TABLE tables; SELECT * FROM dataTables WHERE param LIKE '%'; 通过这种原理可以执行很多很多攻击了。2.不正确处理变量类型如果一个用户提供的字段并非一个强类型,或者没有实施类型强制,就会发生这种形式的攻击。当在一个SQL语句中使用一个数字字段时,如果程序员没有检查用户输入的合法性(是否为数字型)就会发生这种攻击。网站遭受SQL注入式攻击基本方式:1.最常见的也就是在查询字符串中直接输入SQL攻击字符串。2.其次就是在FORM表单中提交的SQL注入攻击字段。3.通过COOKIE绕过一些放注入的脚本程序4.还有就是上面几种的攻击通过16进制编码后,绕过SQL注入检测的脚本程序总结一下,要防止SQL注入主要是要在查询字符串(QueryString),表单数据(PostData)以及Cookie甚至HTTP报头(Header)中防止掉一些特殊字符(单引号,分号)以及SQL语言的关键字,以及防止他们使用16进制编码。用ASP或者PHP脚本来实现上面的这些想起来就很麻烦。下面就来介绍下用一个第三方工具IISUTM来处理上面我们说到的问题。 准备工作:先去www.iisutm.com下载最新的IISUTM版本。 根据IISUTM网站防火墙安装及操作手册 中的说明把IISUTM部署到你的服务器上来安装完成,通过浏览器访问IISUTM的配置管理界面默认的是 http://127.0.0.1:8362,这个是私有地址,只能在该服务器上访问,你需要任何地方都能访问的话,可以在安装的时候IP地址的选项那里填入你服务器的公网IP地址,和你所开放的端口。这样你就可以通过你配置的地址进行访问,或者你可以在iis中直接管理名为IISUTM的站点。 登陆管理界面后点击上面导航栏中的“基本设置”,然后点击左边菜单的“防SQL注入”链接。 开启该链接里所有的选项,选中之后IISUTM会自动保存配置,下面的SQL注入关键字是该软件提供的SQL注入关键字以及特殊符号的特征库,你可以根据你网站的情况进行更改(最好不要修改)。IISUTM会自动拒绝16进制的编码。 确认以上的配置以后,你可以返回到IISUTM管理界面的首页,这里会列出最近服务器遭受到的攻击以及详细,赶紧去看看你的网站是不是随时有人在进行SQL注入吧,以及哪些攻击被IISUTM处理掉了。 了解详情请登陆: www.iisutm.com

相关内容: 最新内容:
带您了解SQL Server触发器管理[2015-01-30]
Web环境中的SQL Server验证[2015-01-30]
SQL中SELECT INTO和INSERT INTO SELECT语句介绍[2015-01-30]
SQL server服务器版的安装方法[2015-01-30]
防止SQL注入漏洞的方法[2015-01-30]
数据库安全之MSSQL数据库防注入[2015-01-30]
带您了解SQL Server触发器管理[2015-01-30]
Web环境中的SQL Server验证[2015-01-30]
SQL中SELECT INTO和INSERT INTO SELECT语句介绍[2015-01-30]
SQL server服务器版的安装方法[2015-01-30]
防止SQL注入漏洞的方法[2015-01-30]
数据库防脚本注入[2015-01-30]