or和<等漏洞问题解决方法

来源:asp之家 时间:2009-03-09 18:32:00 

在login.asp中,接收用户输入的Userid和Password数据,并分别赋值给user和pwd,然后再用

sql="select * from admin where username="&user&" and password="&pwd&"" 

这句来对用户名和密码加以验证。

以常理来考虑的话,这是个很完整的程序了。而在实际的使用过程中,整套程序也的确可能正常使用。

但是如果Userid的值和password的值被赋于:safer' or'1'='1' 这时,

sql="select * from admin where username="&user&" and password="&pwd&"" 

就成了:   

sql="select * from reg where user=safer' or'1'='1' and pass=safer' or'1'='1'

怎么样?!我不说大家也明白了吧!

既然有这样的问题,接下来我们就来看看如何解决它。从上面的程序中各位也可以看出,只要对用户输入的数据进行严格过滤就可以了。

具体可以参下面的程序:

<% 
  user=request.from("UserID") 
  pass=request.from("password") 
  for i=1 to len(UserID) 
  cl=mid(UserID,i,1) 
  if cl="" or us="%" or us="<" or us=">" then 
  response.redirect "54safer ..haha" 
  response.end 
  end if 
  next 
  %>

 同样是先取得用户输入数据,然后分析用户输入的每一个字符,如发现异常,则转到错误页面。  

if cl="" or us="%" or us="<" or us=">" then 

这一句中可以加入任意的过滤字符,跟据具体情况而定。

标签:漏洞,安全,问题,asp
0
投稿

猜你喜欢

  • adsense有点击次数却没有收入?

    2008-08-06 20:21:00
  • 传雀巢创始人后裔收购富豪社交网络ASmallWorld

    2009-10-14 11:17:00
  • 使用dedecms制作英文站的技巧说明

    2010-12-08 16:50:00
  • adsense广告优化高级技巧之 “跳跃或反差”

    2007-12-11 12:02:00
  • Google发布网页在线翻译小工具

    2007-11-19 20:27:00
  • TM2009 Beta2.0稳定版本发布

    2009-10-15 17:03:00
  • 伊坎从雅虎董事会辞职 不再需要激进投资者

    2009-10-24 10:00:00
  • 百度联盟:主题推广的代码投放

    2009-03-10 16:41:00
  • Godaddy主机在线传真的使用说明 Godaddy

    2010-04-21 12:52:00
  • Centos7.2 系统上yum安装lamp环境

    2023-09-01 19:16:21
  • VMware Workstation 12 Pro安装linux教程

    2022-04-18 12:49:50
  • 10月份西联汇款取款指南

    2007-11-03 13:16:00
  • asp.net iis7默认文档错误异常的解决方法

    2022-02-18 13:51:46
  • Windows Server2008 ADFS配置攻略

    2009-03-06 17:01:00
  • 秘笈:百度贴吧宣传不被封锁地址

    2009-03-16 11:30:00
  • 如何使用Linux的rsync

    2023-08-31 09:41:11
  • 说说我做站四年的经历 简单而艰辛

    2008-12-17 11:50:00
  • 什么是rss?rss由来 历史 应用

    2007-10-02 12:33:00
  • 中国二季度网游收入破9亿美元 腾讯升至榜首

    2009-10-14 13:34:00
  • 建立大容量Web界面的Email系统

    2007-08-17 14:45:00
  • asp之家 网站运营 m.aspxhome.com