你的位置:首页 -> 资料分类 -> 专题教程 -> 黑客教程 -> OR=漏洞,不容忽视

OR=漏洞,不容忽视

'OR"='漏洞,不容忽视

  浏览网站或BBS的时候,经常会有管理员登录页面存在,这是为了方便管理而设置的。可是在管理登录页面中存在一个很严重的漏洞──如果账号和密码中都输入'OR''=',即可直接进入管理页面。

  笔者做了一个测试,用Google搜索“管理员登录”,在搜索结果中随机选取了20个网页(包括一些著名品牌的电脑网站、大型商场网站、学校网站、个人网站、BBS等),利用'OR''='漏洞测试后发现,其中有12个网页能成功获得管理员权限。网站管理员的重要性想必大家也知道,他们往往能够主宰网站的命运。是个人网站、BBS等小网站还好,管理员权限至多是添加或删除几个文件或帖子;可如果是著名品牌电脑网站或大型商场网站的管理员,他们则可以更改机型、配置、价格、进货、出货等重要数据。是不是很恐怖?

  现在我们就来分析一下神秘的'OR''='漏洞:

  user=request.form("user")

  pass=request.form("pass")

  .......

  sql="select * from guestbook where user='"&user&"' and pass='"&pass&"'" (*)

  如果把'OR''='引入(*)中,则user和pass中就会得到这样的代码:

  sql="select * from guestbook where user="or"=" and pass="or"=""

  因为"="的值是真,那么user='"&user&"' and pass='"&pass&"'的值也绝对是真,所以登录能够成功。

  防范指南
  解决这个问题的方法也很简单,将(*)改成如下的语句即可:

  sql="select * from guestbook where user='"&user&"'"

  .......

  if pass=rs("pass")

  then 就打开管理网页

  else

  就打开身份验证网页

  end if

  这样就可以解决'OR''='漏洞的问题。

  如果你熟悉Javascript,也可以用Javascript来限制用户名和密码中出现的特殊字符,一旦出现“'”就提示出错,这也是个不错的方法。

  最后笔者还想提醒一下各位站长,'OR''='问题绝对不容忽视!

网站说明
  • 遇需下载的资料,为了达到最快的下载速度,推荐使用网际快车(FlashGet),迅雷下载本站资料。
  • 如果您发现该资料不能下载,请查看常见问题通知管理员,谢谢!
  • 如果您发现该资料有不良信息,请点击这里进行举报,谢谢支持!
  • 如果您有好的资料程希望能与大家分享,我们愿意和您一起宣传!投稿请点击这里
  • [100免费网]对所提供下载的资料不拥有任何权利,其版权归该资料的合法拥有者所有。
| 关于本站 | 联系我们 | 版权声明 | 网站帮助 | 资料发布 | 报告错误 |
100免费网  Copyright© 2006 - 2008 100free.net All Rights Reserved  赣ICP备05003878号