个人 企业
用户名:
密码:
 
企业服务   安全学院   安全资讯
安全动态  |  前沿技术  |  黑客防范安全漏洞防毒杀毒编程技术安全案例 |  电子政务产品推荐网管技术安全采购产品测评在线代理OICQ
检测评估安全学院软件下载互动交流安全沙龙应急咨询技术认证安全人才技术社区嘉宾聊天安全调查文章评论服务专线BLOG
  资讯 频道 国内    

一分钟注册享受免费网站安全评估

新闻热点

美国谋划夺取全球“制网权”
攻击指定IP地址及端口的黑客病毒
“黑客”三天侵吞21万获刑11年
微软浏览器IE7被发现存在两个漏洞
黑客入侵万达广场网站 提醒修复漏洞

软件热点
完美卸载V2007 完整版
防黑菜鸟必学系列视频教程
c语言视频教学30讲第14讲
黑客攻防绝招之三十六计
redhatlinux9安装的全程录像
IIS6最佳安全性实战
 
 
or 1=1等脚本注入漏洞问题
时间:2008-1-22 10:14:26 作者:  出处:网络
在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 这一句中可以加入任意的过滤字符,跟据具体情况而定。

 

评论 | 收藏 | | 打印 | 关闭
相关新闻链接
     
关于Sec120 | 服务产品 | 联系我们 | 招贤纳才 | 广告服务 | 网站律师 | 网站地图 | 我要投稿

 

互联安全网  粤ICP备06118359 Copyright 1999-2007 All Right Reserved.