首页 网络安全 安全学院 查看内容

126oo CMS 电影整站系统更新后的漏洞

2009-6-16 09:34 859 0

摘要:   更新后的代码修改了之前后台绕过的方式。  利用随机函数  Code:  Sub chklogin  dim sql,rs  dim M_Name,loginValidate  M_Name = G...
关键词: Name addr ServerVariables loginValidate 函数 所以 GETIP check GetCookie end

  更新后的代码修改了之前后台绕过的方式。  利用随机函数  Code:  Sub chklogin  dim sql,rs  dim M_Name,loginValidate  M_Name = GetCookie("AdminName")  M_Name = replace(M_Name,"'","")  on error resume next  set rs = Database.GetRecordDetail("Tbl_Manager","M_Name='" & M_Name &"'")  loginValidate = md5(rs("M_Random") & rs("M_Name") & rs("M_ID")) ''''''''''''''这里是利用 随机数+用户名+id号。  if err then  SetCookie "check","",30  writeend "<script>top.location.href='index.asp?action=login';</script>"  end if  if GetCookie("check") <> loginValidate then ''''不等于则返回登录页面  SetCookie "check","",30  writeend "<script>top.location.href='index.asp?action=login';</script>"  end if  '''''''到这里也就可以算登陆了。  End Sub  分析到这里大家就会去想注射了,因为我们如果注射就能拿到以上三个条件所有的内容那么就可以直接登陆后台了,由于没时间详细看,所以就只观看下大概,发现他是利用函数来进行设置查询更新之类的。所以就不看了。时间有限。  只说一下这个问题  GETIP 这个函数里的ServerVariables肯定是没做过滤的,所以我们就可以提交注射了,大家自己找注射漏洞就可以了。  Code:  Function GetIP()  Dim addr, x, y  x = Request.ServerVariables("HTTP_X_FORWARDED_FOR")  y = Request.ServerVariables("REMOTE_ADDR")  addr = IIF(isN(x) or lCase(x)="unknown",y,x)  If InStr(addr,".")=0 Then addr = "0.0.0.0"  GetIP = addr  End Function
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部