黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图

您现在的位置: 黑客风云 >> 黑客文章 >> 黑客进阶 >> 黑客入侵 >> 正文
·没有路由密码权限时的鸽08-23·上网安全 Vista自我防范10-11
·让濒临崩溃的Windows XP10-11·有备无患,快速自制救急10-11
·要你好看!Windows看图工10-11·空间赞助网提供不同类型10-11
·讨论net.exe和net1.exe的10-10·让3389远程桌面传输更通10-10
·巧妙入侵渗透赌博站10-10·Aspx空间扫权限工具10-10
·Windows2003最新提权工具10-10·易淘乐提供100M免费全能10-10
·系统开机密码忘了不着急10-09·中意网络提供免费100M免10-09
·与众不同 Windows XP开始10-08·让桌面图标翻跟斗 在XP上10-08
·上海宽元站长资助计划-提10-08·个性化Windows XP的任务10-07
·趣盘提供3G免费网络硬盘10-07·秀山热线提供200MB免费全10-07
·一次艰辛的提权过程10-06·成功入侵IT大卖场的渗透10-06
·mysqlhack- MYSQL利用工10-06·lanker一句话PHP后门客户10-06
·WIXI提供3G免费多媒体网10-06·新人网络提供100M/ftp免10-06
·如何利用QQ带来高流量10-05·UuShare提供免费网络文件10-05
[推荐]利用新云新漏洞获取管理员密码
      ★★★★★

利用新云新漏洞获取管理员密码

文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2006-11-6 8:41:36

最近玩新云时,在COOKIE欺骗的时候,经常会遇到已经有管理员在线,不允许多用户同时登陆,导致进不了后台,拿不了webshell,很是郁闷,下了新云的源码回来看了下。在admin_login.asp文件里发现了个小问题,一起来看看(由于小弟ASP算不上入门,仅简单分析下,出错了别拿番茄炸我):
  Sub logout()
  '清除COOKIES中管理员身份的验证信息.
  Session.Abandon
  Session("AdminName") = ""
  Session("AdminPass") = ""
  Session("AdminGrade") = ""
  Session("AdminFlag") = ""
  Session("AdminStatus") = ""
  Session("AdminID") = ""
  Session("AdminRandomCode") = ""
  Response.Cookies(Admin_Cookies_Name) = ""
  Response.Redirect ("../")
End Sub
  这里可以到,我们COOKIE提交的时候主要是提交AdminName,AdminPass,AdminGrade,AdminFlag,AdminStatus,AdminID,AdminRandomCode这几个参数,RandomCode是随机码,也就是登陆时验证管理员是否在线的参数。
  Sub chklogin()
  Dim adminname, password,RandomCode
  adminname = Trim(Replace(Request("adminname"), "'", ""))
  password = md5(Trim(Replace(Request("password"), "'", "")))
  If Newasp.CheckPost = False Then
    ErrMsg = ErrMsg + "您提交的数据不合法,请不要从外部提交登陆。"
    Founderr = True
  End If
  If Newasp.IsValidStr(Request("adminname")) = False Then
    ErrMsg = ErrMsg + "<li>用户名中含有非法字符。</li>"
    Founderr = True
  End If
  If Newasp.IsValidPassword(Request("password")) = False Then
    ErrMsg = ErrMsg + "<li>密码中含有非法字符。</li>"
    Founderr = True
  End If
  If Request("verifycode") = "" Then
    ErrMsg = ErrMsg + "<br>" + "<li>请返回输入确认码。</li>"
    Founderr = True
  ElseIf Session("getcode") = "9999" Then
    Session("getcode") = ""
    ErrMsg = ErrMsg + "<br>" + "<li>请不要重复提交,如需重新登陆请返回登陆页面。</li>"
    Founderr = True
  ElseIf CStr(Session("getcode"))<>CStr(Trim(Request("verifycode"))) Then
    ErrMsg = ErrMsg + "<br>" + "<li>您输入的认码和系统产生的不一致,请重新输入。</li>"
    Founderr = True
  End If
  Session("getcode") = ""
  If adminname = "" Or password = "" Then
    Founderr = True
    ErrMsg = ErrMsg + "<br>" + "<li>请输入您的用户名或密码。</li>"
    Exit Sub
  End If
  If Founderr = True Then Exit Sub
  If Not IsObject(Conn) Then ConnectionDatabase
  Set Rs = Server.CreateObject("ADODB.Recordset")
  SQL = "select * from NC_Admin where password='" & password & "' And username='" & adminname & "'"
  Rs.Open SQL, Conn, 1, 3
  If Rs.BOF And Rs.EOF Then
    FoundErr = True
    ErrMsg = ErrMsg + "<li>您输入的用户名和密码不正确或者您不是系统管理员。!</li>"
    Exit Sub
  Else
    If password <> Rs("password") Then
        FoundErr = True
        ErrMsg = ErrMsg + "<br><li>用户名或密码错误!!!</li>"
        Exit Sub
    End If
    If Rs("isLock") <> 0 Or Rs("isLock") = "" Then
        Founderr = True
        ErrMsg = "<li>你的用户名已被锁定,你不能登陆!如要开通此帐号,请联系管理员。</li>"
        Exit Sub
    End If
  End If
这里定义了三个变量adminname, password,RandomCode 可以看到,从事件开始到结束都没有对RandomCode变量进行判断。

[1] [2] 下一页

文章录入:cainiaowang    责任编辑:cainiaowang 
【字体:
Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
ICP备案:冀06009886