跳过导航,朗读正文21CN首页

新闻 | 财经 | 汽车 | 房产 | 体育 | 娱乐 | 数码 | 生活 | 女人 | 游戏 | 旅游 | 社区 | 邮件 | VGO | 播客 | 影院

  当前位置:21CN首页 > 北京IT频道 > 软件频道 > 正文  
 
如何编写通用的ASP防SQL注入攻击程序
2007-11-08 10:35:38  天极网  【 浏览字号:
精彩回顾 手机 | 数码 | 笔记本 | 家电 | 下载
·30秒清除电脑垃圾 使电脑急速如飞 ·最新版QQ2008下载 搞笑FlASH下载
·篮球宝贝的性感家居照 暗访:交楼问题大曝光 ·买家电 到3C特惠场 汽车维修市场黑幕揭秘
·诺基亚N96真机欣赏 不买魅族M8十大充足理由 ·颁奖典礼有奖拿有表演 迎奥运 运动型车导购
搜索更多 的资讯 >>>

  SQL注入被那些菜鸟级别的所谓黑客高手玩出了滋味,发现现在大部分黑客入侵都是基于SQL注入实现的,哎,谁让这个入门容易呢,好了,不说废话了,现在我开始说如果编写通用的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('天下电影联盟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('天下电影联盟SQL通用防注入系统提示↓nn请不要在参数中包含非法字符尝试注入!nnHTTP://www.521movie.com ');history.back(-1)</Script>"
    Response.end
   end if
  next
 next
end if 

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

(编辑:充姬娅)
21CNIT最终页推荐
今日热点
手机 数码 家电 软件下载
意想不到的概念笔记本 点兵热门酷睿双核电脑 三大芯片巨头围攻英特尔
下一篇:网站推广:增加网站流量的方法
热门电影排行
六壮士
救命
少年阿虎
决一死战 | 网络迷情 | 别碰寡妇 | 杀人曲
| 法本无情 | 左轮右你 | 警局奇案 | 我最棒
 点播更多    

热门剧集排行
夜郎王
凭什么爱你
铁血莲花
黄河浪 | 王保长歪传 | 天使在线 | 红色档案
肥姐挂帅 | 欢乐家庭 | 大姐 | 冲出绝境
 点播更多    
 
 
公司简介  |  广告服务  |  网站导航  |  合作伙伴  |  诚征代理  |  联系我们