网站运营
位置:首页>> 网站运营>> 防止GET和POST方式引起的SQL注入攻击ASP程序

防止GET和POST方式引起的SQL注入攻击ASP程序

 来源:CSDN 发布时间:2007-08-06 12:57:00 

标签:

内容摘要:编写通用的SQL防注入程序一般的http请求不外乎get 和 post,所以只要我们在文件中过滤所有post或者get请求中的参数信息中非法字符即可,所以我们实现http 请求信息过滤就可以判断是是否受到SQL注入攻击。


  IIS传递给asp.dll的get 请求是是以字符串的形式,当传递给Request.QueryString数据后,asp解析器会分析Request.QueryString的信息,,然后根据"&",分出各个数组内的数据所以get的拦截如下:
  首先我们定义请求中不能包含如下字符:

|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare

 


各个字符用"|"隔开,,然后我们判断的得到的Request.QueryString,具体代码如下 :

dim sql_injdata
SQL_injdata = "’|and|exec|insert|select|delete|update|count|*|%|chr|mid|master|truncate|char|declare"
SQL_inj = split(SQL_Injdata,"|")
If Request.QueryString<>"" Then
 For Each SQL_Get In Request.QueryString
  For SQL_Data=0 To Ubound(SQL_inj)
   if instr(Request.QueryString(SQL_Get),Sql_Inj(Sql_DATA))>0 Then
    Response.Write "<Script Language=****>alert(’asp之家SQL通用防注入系统提示↓nn请不要在参数中包含非法字符尝试注入!’);history.back(-1)</Script>"
    Response.end
   end if
  next
 Next
End If 


这样我们就实现了get请求的注入的拦截,但是我们还要过滤post请求,所以我们还得继续考虑request.form,这个也是以数组形式存在的,我们只需要再进一次循环判断即可。代码如下:

If Request.Form<>"" Then
 For Each Sql_Post In Request.Form
  For SQL_Data=0 To Ubound(SQL_inj)
   if instr(Request.Form(Sql_Post),Sql_Inj(Sql_DATA))>0 Then
    Response.Write "<Script Language=****>alert(’asp之家SQL通用防注入系统提示↓nn请不要在参数中包含非法字符尝试注入!nnHTTP: //www.aspxhome.com ’);history.back(-1)</Script>"
    Response.end
   end if
  next
 next
end if

 


我们已经实现了get和post请求的信息拦截,你只需要在conn.asp之类的打开数据库文件之前引用这个页面即可。放心的继续开发你的程序,不用再考虑是否还会受到SQL注入攻击。

0
投稿

猜你喜欢

  • V5MALL全线免费,再推网上商城炙不久之前相续在上海豫园商城、青岛特色街取得辉煌战果的上海威博网络技术有限公司,再其V5SHOP网店系统开
  • 很多用户不知道Godaddy域名应该怎么指定目录? 今天我们就来探讨一下这个问题。用户有两个域名aaa.com和bbb.net,由于主域名不
  • 喜欢前端技术的朋友一定不要错过,本文选了上面一部分,原文地址:http://ued.taobao.com/blog/2007/12/20/d
  • 难得有如此凑巧的日子,真是百年一遇千年一遇的什么事都让我们这一代给撞上了。七夕越来越被渲染成中国的情人节,2.14情人节送花,七夕情人节也送
  • 日前,诸多期待开展IPTV业务的网络视频公司因受困于牌照,版权等问题,前景难卜。记者采访到,有多家视频公司认为自身在短时期内不可能处理好版权
  • ServU plus2.0ServU plus2.0是Serv-U的一个插件,其主要功能就是捕捉Serv-U的事件,然后做适当的功能增强、扩
  • 今天看了google的黑板报,传说中的谷歌中文手机语音搜索正式于二号发布,使用者可以通过自己的声音来和手机进行交互,找到自己所需要的信息。能
  • FAT32 标称为65534,实际到2万+时已不稳定。NTFS 似乎没有明确限制单目录文件数量,但有人反应在生成10万+ 文件的目录时遇到报
  • 有些朋友想要查看MySQL的IP地址,却不知道在那里查看,登录到Godaddy,在主机管理中的MySQL点击你要查询的Mysql的图标,进入
  • 现阶段中国B2C虽然很火爆,但鲜有有规模盈利成功的例子,说B2C全行业亏损一点也不过分。开个小店几百万销售有盈利的可能,但反而上规模的B2C
  • 应该是”10种图片防盗的方法“,而不是”10种图片防盗链的方法“,不过看搜索防盗链的人要多一点,所以就用这个关键词了。图片防盗: 是不想自己
  • 随着电子邮箱的普及,为了使用户更好的利用邮箱资源,一大关键问题就是如何处理多如牛毛的垃圾邮件。所谓垃圾邮件就是非用户意愿所产生的邮件。它不仅
  • 如果看到这个标题,你有一些疑问,那你更要看完这篇文章,对于新手来说,购买WordPress空间之后,需要做的事情很多,Wopus这里列举出一
  • 从去年到现在,百度已经进行了大规模的算法调整。而且现在已经有一个不成文的规律,那就是每个月低的动作特别大,不例外,从上个月低开始,百度又开始
  • 前面我们讲过,FTP协议的数据传输存在两种模式:主动模式和被动模式。这两种模式发起连接的方向截然相反,主动模式是从服务器端向客户端发起;被动
  • Sendmail作为免费的邮件服务器软件,已被广泛应用于Internet各种操作系统的服务器中。如:Solaris,HPUX,AIX,IRI
  • 得百度者得天下。这个道理很简单,百度收录越多,被用户搜索到你的网站的机会也就越多,流量也就来的越大。在中国,八成网民会选择百度来搜索所需要的
  • ../  【站点上级目录】     //如果要使用后台的目录相关的功能需要有列出目录的权限 //0444 /&
  • Exchange Server 2007 日志规则新日志向导日志报告中包括的内容您是否曾经不得不记录您与某位特定用户之间往来的电子邮件,而结
  • 百度搜索引擎12月2日开始了本月首次索引数据库更新,直到12月5日才结束了大更新行动,本次更新历行5天时间。本次更新显然与以往都不同。我在这
手机版 网站运营 asp之家 www.aspxhome.com