首 页文章中心黑客工具黑吧学院技术论坛安全培训免费频道最近更新瑞星在线杀毒黑吧百度繁體中文
  设为首页
加入收藏
发布作品
   
栏目导航
· 漏洞利用 · 脚本注入
· 入侵实例 · 编程代码
· 逆向工程
热门文章
· 如何封别人QQ
· 充QQ币的疯狂——宽...
· 免费得QB
· 400秒远程攻破你的Q...
· [图文] QQ免费建400个群
· [组图] 给你一台永远不关机...
· [注意] QQ宠物砸蛋秘诀
· 再次有机会免费获得...
· 想的挂QQvip的进
· 在QQ中将自己从对方...
相关文章
· ' or '1'='1'等脚本...
· ' or '1'='1'等脚本...
· ' or '1'='1'等漏洞...
' or '1'='1'等漏洞问题
作者:佚名  来源:www.hack58.net  发布时间:2006-11-29 2:10:25  发布人:黑客动画吧

减小字体 增大字体

漏洞描述:
在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’   

怎么样?!我不说大家也明白了吧! 
  
既然有这样的问题,接下来我们就来看看如何解决它。从上面的程序中各位也可以看出,只要对用户输入的数据进行严格过滤就可以了。具体可以参下面的程序: 

Quote
  〈% 
  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 这一句中可以加入任意的过滤字符,跟据具体情况而定。 
********************************************************************
漏洞修补:
username=replace(trim(request("username")),"’","")
password=replace(trim(Request("password")),"’","")

把“’”给过滤了
如果你想用“’”当做密码 就用下面的方法

1、select * from user where user=’ " & User & "’ " 
2、如果返回不为假,则取密码 
pass=rs("passwd") 
3、判断:if pass=password 
4、得出结论。 

例子:

Quote
sql="select * from ****_admin where admin_pass=’"&admin_pass&"’ and admin=’"&admin&"’"
rs.open sql,conn,1,3
if not(rs.bof and rs.eof) then
if admin_pass=rs("admin_pass") then
session("admin")=rs("admin")

********************************************************************
[ ] [返回上一页] [打 印] [收 藏]
 
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 网站导航 - 作品发布
互联网备案登记:粤ICP备05008775号
友情提示:浏览本站,请使用IE6.0浏览,并将分辩率设置为1024*768 为佳
Copyright © 2002-2005 Hack58.Com. All Rights Reserved .