English
 电子信箱
 加入收藏

  威盾防火墙 >> 新闻中心 >> 威盾新闻 >> 最友好的SQL注入防御方法

 

最友好的SQL注入防御方法

威盾防火墙 2015-01-28

 

  不知道是不是有些人给SQL注入吓怕了,把一大堆根本对系统没威胁的字符(比如"号,%号等)都过滤了(甚至NB联盟有些人居然也这样做),使得一些系统的User Interface极不友好,经常出现"输入特殊字符"的提示,造成用户的流失.
  
  以下是根据我一年注入经验的总结,在绝对的前提下,过滤得最少,最友好的防注入方法:
  
  1.数字型变量:用isNumeric()判断是否为数字
  
  2.字符型或其它类型变量:将单引号'替换成两个
  
  下面给出两个函数,用来代替ASP的Request函数,只要每处地方使用这两个函数取值,SQL注入根本没有用武之地.
  
  '----------------------------------------------------------------
  ' 获取数字型参数
  '----------------------------------------------------------------
  Function ReqNum ( StrName )
  
  ReqNum = Request ( StrName )
  
  if not isNumeric ( ReqNum ) then
  
  response.write "参数必须为数字型!"
  
  response.end
  
  end if
  
  End Function
  
  '----------------------------------------------------------------
  ' 获取字符型参数
  '----------------------------------------------------------------
  
  Function ReqStr ( StrName )
  
  ReqStr = Replace ( Request(StrName), "'", "''" )
  
  End Function

Trackbacks


相关内容: 最新内容:
详解强大的SQL注入工具:SQLMAP的详细介绍[2015-01-28]
安全测试工程师必读:解析SQL注入攻击[2015-01-28]
渗透测试:记一次绕过简单SQL防注入[2015-01-28]
ModSecurity SQL注入攻击 – 深度绕过技术挑战[2015-01-28]
SQL注入技术和跨站脚本攻击的检测[2015-01-28]
初探PHP的SQL注入攻击的技术实现以及预防措施[2015-01-28]
详解强大的SQL注入工具:SQLMAP的详细介绍[2015-01-28]
安全测试工程师必读:解析SQL注入攻击[2015-01-28]
渗透测试:记一次绕过简单SQL防注入[2015-01-28]
ModSecurity SQL注入攻击 – 深度绕过技术挑战[2015-01-28]
SQL注入技术和跨站脚本攻击的检测[2015-01-28]
初探PHP的SQL注入攻击的技术实现以及预防措施[2015-01-28]